C# 保存时在数据库中复制的数据
我试图使用INSERT查询在数据库中保存一些数据,但它在单击时保存了双值。例如,我保存“Lahore”,它将保存两次: 拉合尔 拉合尔C# 保存时在数据库中复制的数据,c#,C#,我试图使用INSERT查询在数据库中保存一些数据,但它在单击时保存了双值。例如,我保存“Lahore”,它将保存两次: 拉合尔 拉合尔 您的代码正按照您的要求执行。 如果您两次调用Execute*方法,它将运行两次查询。它将保存两次,因为您要执行两次查询: query.ExecuteNonQuery(); SqlDataReader dt = query.ExecuteReader(); 你存了两次钱 ExecuteOnQuery将返回受影响的行数,因此请改用此值 SqlConnection
您的代码正按照您的要求执行。
如果您两次调用Execute*方法,它将运行两次查询。它将保存两次,因为您要执行两次查询:
query.ExecuteNonQuery();
SqlDataReader dt = query.ExecuteReader();
你存了两次钱
ExecuteOnQuery将返回受影响的行数,因此请改用此值
SqlConnection conn = new SqlConnection("Data Source = HAMAAD-PC\\SQLEXPRESS ; Initial Catalog = BloodBank; Integrated Security = SSPI ");
try
{
conn.Open();
SqlCommand query = new SqlCommand("insert into City values('" + txtCity.Text + "')", conn);
var rowsAffected = query.ExecuteNonQuery();
if (rowsAffected == 1)
{
MessageBox.Show("Saved....!");
}
else
{
MessageBox.Show("Not saved.....");
}
}
catch (Exception ex)
{
MessageBox.Show("Failed....." + ex.Message);
}
您有一个SQL注入漏洞。您听说过吗?您应该阅读有关ExecuteOnQuery返回值的文档。
SqlConnection conn = new SqlConnection("Data Source = HAMAAD-PC\\SQLEXPRESS ; Initial Catalog = BloodBank; Integrated Security = SSPI ");
try
{
conn.Open();
SqlCommand query = new SqlCommand("insert into City values('" + txtCity.Text + "')", conn);
var rowsAffected = query.ExecuteNonQuery();
if (rowsAffected == 1)
{
MessageBox.Show("Saved....!");
}
else
{
MessageBox.Show("Not saved.....");
}
}
catch (Exception ex)
{
MessageBox.Show("Failed....." + ex.Message);
}