gpt4 book ai didi

c# - 在c#中启用多用户管理

转载 作者:行者123 更新时间:2023-11-30 22:38:15 24 4
gpt4 key购买 nike

在表 users 中,每个用户的 MySql 数据库可以用不同的颜色存储,例如:

Users       colors
Foo green
Pluto yellow
Foo red

当用户通过身份验证时,我需要知道与登录用户关联的颜色是什么。

我使用 List 方法以这种方式为每个用户附加变量颜色:

List<string> colorList = new List<string>();

....

if (reader.HasRows)
{
while (reader.Read())
{
Colors = reader["Colors"].ToString();
colorList.Add(Colors.ToString());
}

ns = string.Join(", ", colorList.ToArray());
}

这里一切正常。

现在我需要在 GridView 中发布存储在 Experience 表 中的所有行,其中存储了所有用户对每种颜色的评论。

例如,在用户 Foo 的情况下,我需要在 GridView 中发布所有存储在 Experience 表 中的评论,说到 colors红色和绿色

但我不能发布这个 GridView 因为如果用户是 Foo 我只会看到关于 红色 的评论而没有评论绿色

用循环思考我有这个输出:

SELECT * FROM Experience WHERE Colors IN ('red');

SELECT * FROM Experience WHERE Colors IN ('green');

下面是我的代码。

有人知道我该如何解决吗?

你能推荐一下吗?

你能帮帮我吗?

提前谢谢你。

private DataSet RetrieveColors()
{
str = null;
strArr = null;
count = 0;

str = ns == null ? "" : ns.ToString();
char[] splitchar = { ',' };

if (!string.IsNullOrEmpty(str))
{
strArr = str.Split(splitchar);
}
else
{
strArr = null;
}

for (count = 0; count <= strArr.Length - 1; count++)
{
sql = @" SELECT * FROM Experience WHERE Colors IN (?); ";
}


DataSet dsColors = new DataSet();

using (OdbcConnection cn =
new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQL"].ConnectionString))
{
cn.Open();

using (OdbcCommand cmd = new OdbcCommand(sql, cn))
{
for (count = 0; count <= strArr.Length - 1; count++)
{
cmd.Parameters.AddWithValue("param1", Server.UrlDecode(strArr[count].Trim()));
}

OdbcDataAdapter adapter = new OdbcDataAdapter(cmd);
adapter.Fill(dsColors);
}
}

return dsColors;
}

编辑#1

Users       colors
Foo green
Pluto yellow
Foo red

最佳答案

试试这段代码:

sql = @" SELECT * FROM Experience WHERE Colors IN (?";

for (count = 1; count <= strArr.Length - 1; count++)
{
sql += ",?"; // add more placeholders as needed
}
sql+=");"

关于c# - 在c#中启用多用户管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31804394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com