我必须插入使用插入查询表中的值...存储在数据库中的表有3列:1.日期(日期时间)2. SensorValue(浮动)3,差异(浮动) 现在每列的值来自datagridview的.....这里是按钮的插入错误:附近有语法错误“14”
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\dbsave.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
if (con.State == ConnectionState.Closed)
{
con.Open();
}
for (Int32 i = 0; i < dataGridView1.Rows.Count-1; i++)
{
String query1 =
"INSERT INTO " + tbName +
" (Date, SensorValue, Difference) " + "VALUES (" +
dataGridView1.Rows[i].Cells[0].Value + "," +
dataGridView1.Rows[i].Cells[1].Value + "," +
dataGridView1.Rows[i].Cells[2].Value + ")";
SqlCommand cmd1 = new SqlCommand(query1, con);
cmd1.ExecuteNonQuery();
}
con.Close();
MessageBox.Show("The table has been saved");
代码中的错误是ofcourse查询的执行....在第一项日期列是价值:2012年12月5日14:32:00 ....所以基本上SQL是不接受与14放置的结肠....我怎么能解决这个问题?请帮助
请去研究参数化查询 - 它们避免了将所有内容都转换为字符串的问题。 –
这些列的数据类型是什么? –
请使用DBParameter!它会使你的查询字符串更具可读性,并且可以帮助你避免很多错误! – igrimpe