【发布时间】:2017-10-26 12:45:49
【问题描述】:
我想根据用户输入向我的表中插入一些值。我从一些文本框中得到这些值。当我在我的 SQL 逻辑之前放置一个断点,并用 F10 遍历每一行时,一切正常。我打开SQLConnection,创建一个SQLCommand,执行它,然后再次关闭连接。我刷新表格并在其中包含所有值。但是,当我删除或禁用断点,并且程序自己遍历这些代码行时,它不起作用,这意味着无论我多久刷新一次,都不会向表中添加任何值。
这是我所指的代码:
try
{
SqlConnection con = new SqlConnection("Server=...;Database=...;Integrated Security=true;");
con.Open();
SqlCommand com = new SqlCommand("INSERT INTO TestTable (Type,Serialnumber) VALUES('" + TypeText + "','" + SerText + "')", con);
//Debug.WriteLine(com.CommandText);
com.BeginExecuteNonQuery();
con.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
【问题讨论】:
-
请考虑sql注入问题
-
@BugFinder 这么久就无法判断变量是否已被清理,本来可以。无论如何,使用参数化查询是一个很好的建议;-)
标签: c# sql visual-studio