【发布时间】:2020-08-12 00:49:35
【问题描述】:
我不断遇到问题
“'System.Data.SqlClient.SqlException' 类型的未处理异常 发生在 System.Data.dll""上 SDA.SelectCommand.ExecuteNonQuery();".
这里有什么问题?
SqlConnection con = new SqlConnection(@"Data Source=LAPTOP-LD5OK96E\SQLEXPRESS;Initial Catalog=TRANSACTION_RATE TABLE; Integrated Security=True");
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
con.Open();
String query = "INSERT INTO TRANSACTION_RATE TABLE (Trans_id,Transaction_type,Transact_rate,Transact_description) VALUES('" + textBox1.Text + "','" + textBox2.Text + "''" + textBox3.Text + "''" + textBox4.Text + "')";
SqlDataAdapter SDA = new SqlDataAdapter(query, con);
SDA.SelectCommand.ExecuteNonQuery();
con.Close();
MessageBox.Show("Success!");
【问题讨论】:
-
我很确定
INSERT INTO TRANSACTION_RATE TABLE不正确。我猜TABLE是您错误地复制/粘贴的位,但是一旦您修复了该代码,如果该代码投入生产,您仍然会遇到很多麻烦。stackoverflow.com/questions/332365/… -
您的问题中有两个不同的问题。您应该 a) 避免连接字符串,因为这是一种称为 SQL 注入的安全风险;b) 您的“TRANSACTION_RATE TABLE”应该被转义,以便 SQL Server 知道表名是什么。检查这个related answer
标签: c# sql sql-server ado.net