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是关键字,需要用方括号转义。