gpt4 book ai didi

c# - 批量更新mysql表

转载 作者:行者123 更新时间:2023-11-30 00:08:21 25 4
gpt4 key购买 nike

我有一个 1933 个用户名的列表,必须在 mysql 表中将其设置为删除(将已删除字段从 0 更改为 1)。我将逗号分隔的列表(用户名、真实姓名)粘贴到列表框中,并使用 foreach 语句将每个用户名、真实姓名组发送到静态类中的更新命令。当我运行它时,我没有收到任何错误,但没有更新任何用户行。我做错了什么,但我不确定问题是什么。请查看下面的代码,如果您发现了我没有看到的错误,请告诉我。

private void button1_Click(object sender, EventArgs e)
{
int i = 0;
try
{
if (listBox1.Items.Count > 0)
{
foreach (string s in listBox1.Items)
{
Cursor.Current = Cursors.WaitCursor;
string[] sname = s.Split(',');
Data.RemoveUser(sname[0].ToString(), sname[1].ToString());
i++;
label3.Text = i.ToString();
}
}
else
MessageBox.Show("No user names found. Please paste a list of names to be deleted.");
Cursor.Current = Cursors.Default;
MessageBox.Show(i.ToString() + " users set to deleted.");
}
catch (Exception ex)
{
throw ex;
}
}


public static void RemoveUser(string UserName, string FullName)
{
MySqlConnection conn = new MySqlConnection(constr);

try
{
conn.Open();

string qry = "Update host_user set deleted = 1 where username = @username and name = @fname";
MySqlCommand cmd = new MySqlCommand(qry, conn);

cmd.Parameters.AddWithValue("@username", UserName);
cmd.Parameters.AddWithValue("@fname", FullName);
cmd.ExecuteNonQuery();

conn.Close();
}
catch (MySqlException e)
{
if (conn != null) conn.Close();
throw e;
}
}

最佳答案

当你在做的时候:

string[] sname = s.Split(',');

您的名字和姓氏两边是否都有空格?如果您的输入如下:

“约翰,多伊”

您最终会搜索“John”和“Doe”。

如果是这种情况,请在将这些字符串传递给 RemoveUser() 之前调用 .Trim()。

关于c# - 批量更新mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24314406/

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