问题描述
- int x = cmd.ExecuteNonQuery(); 附近有语法错误
-
string connString = "server = .;database = sztsl; integrated security = true"; private void btnDadd2_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(connString); conn.Open(); string sql = string.Format("insert into Daily(Date,StarTime,Endtime,Person,Failure,Reason,Solution,Message) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}'",txtDdate.Text, txtDstartime.Text, txtDendtime.Text, txtDperson.Text, txtDfailure.Text, txtDreason.Text, txtDstartime.Text, txtDmessage.Text); SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; cmd.Connection = conn; **int x = cmd.ExecuteNonQuery();** 调试提示这里:附近有语法错误 conn.Close(); if (x >= 1) MessageBox.Show("Succeed", "Prompt",MessageBoxButtons.OK); MessageBox.Show("Failure", "Prompt", MessageBoxButtons.OK); }
解决方案
找到原因了,sql語句中少了個:)。真是麻煩大家了。
解决方案二:
把实际的sql放到数据库里面执行一下。看是否会报错。
解决方案三:
很有可能是时间格式问题。而且这种方式会造成 SQL Injection的问题。最好用 Parameter。
解决方案四:
Date是关键字,需要用方括号转义。
时间: 2024-10-27 23:25:11