gpt4 book ai didi

C#和MySql插入数据错误

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

我正在开发的应用程序存在问题。

我插入 4 个数据字段让我们调用它们 ("年龄""性别""姓名""电话") 到 MySQL 数据库。 99% 的时候它会 100% 工作,然后偶尔我会得到一些奇怪的东西。

第 1 行将包含 Age 、 Gender 、 "Null"、 "Null",第 2 行将包含 "Null"、 "Null"、 Name 、 Tel ,所以基本上它将把一行数据插入 2 行。

下面是代码示例:

String constring = ConfigurationManager.ConnectionStrings["server"].ConnectionString;
string Query = "insert into db.Table (Name , Surname , ID , Tel)
values('" + this.textBox1.Text + "' , '" + this.textBox2.Text + "' ,
'" + this.textBox6.Text + "' , '" + this.textBox4.Text + "');";
MySqlConnection conDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
MySqlDataReader myReader;
conDataBase.Open();
try
{


myReader = cmdDataBase.ExecuteReader();

while (myReader.Read())
{

}
conDataBase.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
MessageBox.Show("Cleint Details has been added to system");
}

如果有人能想到原因,请帮忙。我确实检查了环境(网络连接等),但这些都很好。

最佳答案

文本框中的值可能会影响插入语句。如果使用参数化语句会更好。例如:

string Query = "insert into db.Table (Name , Surname , ID , Tel) values(@param1, @param2 , @param3  , @param4);";

MySqlConnection conDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);

//Add paramter values
cmdDataBase.Parameters.AddWithValue("@param1", this.textBox1.Text);
cmdDataBase.Parameters.AddWithValue("@param2", this.textBox2.Text);
cmdDataBase.Parameters.AddWithValue("@param3", this.textBox6.Text);
cmdDataBase.Parameters.AddWithValue("@param4", this.textBox4.Text);

关于C#和MySql插入数据错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31480315/

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