【发布时间】:2019-11-15 14:06:09
【问题描述】:
我正在尝试将一些数据从我的文本框中插入到 MS Access 数据库中。
代码运行成功,但新数据没有出现在数据库中。
所有数据类型或短文本
try
{
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dsms.accdb");
connection.Open();
string Dcode = textDcode.Text;
string Dname = textDname.Text;
string Units = textDunit.Text;
string Price = textDbuyp.Text;
string BPrice = textDsellp.Text;
string Category = textDcategory.Text;
string my_query = "INSERT INTO Drugs(Dcode, Dname, Units, Price, BPrice, Category)VALUES('"+Dcode+"','"+Dname+"','"+Units+"','"+Price+"','"+BPrice+"','"+Category+"')";
OleDbCommand cmd = new OleDbCommand(my_query, connection);
cmd.ExecuteNonQuery();
MessageBox.Show("Data saved successfully");
}
catch (Exception ex)
{
MessageBox.Show("Failed due to " + ex.Message);
}
finally
{
connection.Close();
}
【问题讨论】:
-
没有错误?你确定吗?这些变量中是否有单引号?
-
您容易受到 SQL 注入 的攻击。此外,你怎么知道没有插入数据?你在检查正确的数据库/表吗?
-
@JNevill:公平地说,INSERT 不会抛出很多异常。他至少确实暴露了这个信息。所以这不是异常处理的全部罪过。
-
@JNevill 是的,我什至确定没有异常错误
-
@Rahul SQL 注入现在无关紧要。我确实检查了记录