错误:从字符串转换日期和/或时间时转换失败

时间:2015-06-25 15:27:46

标签: c# sql

在SQL表integralImage(I)Date_Of_Birth中,数据类型为Date_Of_Joining。我需要执行date

我有这段代码并且显示错误 - update 请帮忙。

Conversion failed when converting date and/or time from character string.

1 个答案:

答案 0 :(得分:3)

除了将用户变量直接发送到数据库的SQL Injection问题之外,我建议使用参数化查询来简化您尝试做的事情。

SqlCommand cmd7 = new SqlCommand("UPDATE Employees SET Designation = @designation, Employee_Subgroup = @subgroup, Date_Of_Birth = @dateofbirth, Date_Of_Joining = @dateofjoining Where Employee_Name = @employeename", con7);
cmd7.Parameters.AddWithValue("designation", textBox_BEUpdtD.Text);
cmd7.Parameters.AddWithValue("subgroup", comboBox_BEupdt.Text);
cmd7.Parameters.AddWithValue("dateofbirth", dateTimePicker_DOBUpdt.Value.Date);
cmd7.Parameters.AddWithValue("dateofjoining", dateTimePicker_DojUpdt.Value.Date);
cmd7.Parameters.AddWithValue("employeename",comboBox_EmpNm.Text);
con7.Open();
int o = cmd7.ExecuteNonQuery();
MessageBox.Show(o +" : Record has been updated")

也就是说,您的数据库架构存在一些问题。我强烈建议您不要关键员工姓名,因为: A)它不一定是唯一的, B)可能会以这种形式输入错误,因为它只是一个纯文本框, C)可能随时间而变化(例如婚姻等)