【发布时间】:2020-01-17 21:09:55
【问题描述】:
我正在创建一个图书馆管理系统。 对于日期,我有一个日期选择器,在单击按钮保存后,它会引发此错误:
System.Data.SqlClient.SqlException: '从字符串转换日期和/或时间时转换失败。'
这是错误所在:
cmd.CommandText = "insert into books_info values('"
+ textBox1.Text + "', '"
+ textBox2.Text + "', '"
+ textBox3.Text + "', '"
+ dateTimePicker1.Text + "', "
+ textBox5.Text + ", "
+ textBox6.Text +
")";
【问题讨论】:
-
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看Little Bobby Tables
-
日期/时间选择器的文本版本不能被数据库直接转换。例如,dateTimePicker1.Text 值可能看起来像“2020 年 1 月 17 日”,而数据库需要像“01/17/2020”这样的格式
-
永远不需要转换
DateTimePicker选择。DateTimePicker.Value是DateTime类型 -
您能否编辑您的问题并为我们提供
dateTimePicker1.Text评估结果的示例? -
另外,用适当的数据库标记它(我假设它是 SQL Server,但它可能是......其他任何东西。DB2?Oracle?其他东西?)
标签: c#