**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
2小时前关闭
Improve this question
System.Data.SqlClient.SqlException:'TextBox:'附近的语法不正确。
已声明标签“TextBox”。标签名称在查询批处理或存储过程中必须唯一。'
出现此错误。我试着修复它很多次,但找不到我犯了什么错误。
代码:
private void add_Click(object sender, RoutedEventArgs e)
{
Connect.con.Open();
String add_query = "INSERT INTO Products(ProductName,Price,Quantity) VALUES ('" + productxt + "'," + pricetxt + "," + quanttxt + ")";
SqlCommand cmd = new SqlCommand(add_query, Connect.con);
cmd.ExecuteNonQuery();
int rowsAffected = cmd.ExecuteNonQuery();
if (rowsAffected > 0)
{
MessageBox.Show("Product added");
}
else
{
MessageBox.Show("Failed to add product");
}
}
它应该向DataTable添加数据。
1条答案
按热度按时间8ulbf1ek1#
productxt
、pricetxt
和quanttxt
很可能是TextBox * 控件 * 的名称,而不是字符串值。首先,您需要使用Text属性来获取字符串形式的文本。尝试打印整个TextBox对象将打印类型的名称,这不是您要查找的。
其次,不要使用字符串连接来创建SQL查询。最好的情况下,这会导致此错误,最坏的情况下,会导致SQL注入。Learn more。
第三,你运行了两次
ExecuteNonQuery()
。你应该只运行一次。调整参数DBType以匹配您的列,并包括精度。