【发布时间】:2017-09-15 22:40:12
【问题描述】:
我只是像这样添加值 Mc access column data type (text,numeric-double,text,numeric-percentage) 但是我插入了这个值(john,"","","")这个值没有插入 这个错误 因为我只有名单 帮帮我
在 biodata.exe 中发生了“System.NullReferenceException”类型的第一次机会异常
附加信息:对象引用未设置为对象的实例。
private void button1_Click(object sender, EventArgs e)
{
con.Open();
cmd.CommandText = "insert into hhh (name,answerinfloat,subject,avg)VALUES('" + a.Text + "','" + b.Text + "','" + c.Text + "','" + d.Text + "')";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("name", a.Text);
cmd.Parameters.AddWithValue("answerinfloat", b.Text);
cmd.Parameters.AddWithValue("subject", c.Text);
cmd.Parameters.AddWithValue("avg", d.Text);
int n = cmd.ExecuteNonQuery();
if (n > 0)
{
MessageBox.Show("Record Submitted", "Congrats");
}
else
MessageBox.Show("insertion failed");
con.Close();
}
【问题讨论】:
-
如果您在查询文本中省略列名,那么您需要为表中存在的所有列提供值。只需添加列的名称并查看什么是 Sql Injection hack。您的代码已准备好被黑客入侵。
-
我强烈建议您关注Parameterizing your query。
-
警告:您的代码容易受到 sql 注入攻击。不要使用字符串连接。使用参数。
标签: c# ms-access-2010