gpt4 book ai didi

C# mysql 一键更新和选择

转载 作者:行者123 更新时间:2023-11-29 13:50:33 25 4
gpt4 key购买 nike

我是 C# 初学者,但我必须为 friend 制作一个软件。它用于生成数字(它们在 mysql 中)。我的标签和按钮上有编号。该按钮用于从 MySQL 生成下一个数字(它从数据库中选择数字,未使用)。我的代码:

private void button1_Click(object sender, EventArgs e)
{

string input = label1.Text.Trim();
string conn = "server=46.28.110.147;user=______;password=________;database=________;";
MySqlConnection myconn = new MySqlConnection(conn);
string sql = "SELECT numbers FROM domestic WHERE used=0 ORDER BY numbers LIMIT 1";
string sq2 = "UPDATE domestic SET used = 1 WHERE numbers = '" + label1.Text +"'";
MySqlDataAdapter da = new MySqlDataAdapter(sql, myconn);
MySqlCommand cmd = new MySqlCommand(sq2, myconn);
DataTable dt = new DataTable();
da.Fill(dt);

myconn.Open();
cmd.ExecuteNonQuery();
myconn.Close();

label1.Text = dt.Rows[0][0] + "";

}

问题是当我点击按钮时。1)单击按钮 - 它进行更新(不选择)(它将used = 1设置为数据库中的数字,位于标签中)2)再次单击按钮 - 它选择(它从数据库中获取下一个数字,使用= 0)3)单击按钮 - 它更新(不选择)4) 点击按钮 - 再次从步骤 2 到步骤 3

请问,您能告诉我,如何只需单击一下即可完成这两项操作(更新和选择)吗?

感谢并为我糟糕的英语感到抱歉。

最佳答案

您的代码目前的行为如下:

  1. 使用常量 SQL 查询定义 SELECT 语句。
  2. 使用标签文本的内容定义 UPDATE 语句(可能为空?)
  3. 使用MySqlDataAdapter填充数据表。它必须从您的数据库中恢复第一个可用的号码。
  4. 打开连接并执行更新。
  5. 恢复第 3 点填充的第一个数据行的第一列。

我认为这种情况下的问题是您正在混合代码来达到解决方案。试试这个:

  1. 使用常量 SQL 查询定义 SELECT 语句。
  2. 使用 MySqlDataAdapter 填充数据表。
  3. 恢复第 2 点中填充的第一个数据行的第一列,并将值填充到标签文本中。
  4. 使用标签文本的内容定义UPDATE语句(这time 已恢复上一步中的数字。
  5. 打开连接并执行更新。

类似...

private void button1_Click(object sender, EventArgs e)
{
string input = label1.Text.Trim();
string conn = "server=46.28.110.147;user=______;password=________;database=________;";
MySqlConnection myconn = new MySqlConnection(conn);
string sql = "SELECT numbers FROM domestic WHERE used=0 ORDER BY numbers LIMIT 1";
MySqlDataAdapter da = new MySqlDataAdapter(sql, myconn);
DataTable dt = new DataTable();
da.Fill(dt);

label1.Text = dt.Rows[0][0] + ""; // Recovers the value and puts into label.

MySqlCommand cmd = new MySqlCommand(sq2, myconn);
string sq2 = "UPDATE domestic SET used = 1 WHERE numbers = '" + label1.Text +"'";
myconn.Open();
cmd.ExecuteNonQuery(); // Updates database to set used = 1 for recovered number.
myconn.Close();
}

关于C# mysql 一键更新和选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16741035/

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