我正在使用下面的代码将日期插入到我的SQL dB中,但是我一直收到错误。
“操作数类型冲突: int与日期不兼容”
这是我的代码:
Using cmdb = New SqlCommand("INSERT INTO Tarrifs (Tarrif, Created_Date) VALUES (@tarrif2, @DateTime)", con)
con.Open()
cmdb.Parameters.AddWithValue("@tarrif2", TextBox1.Text)
cmdb.Parameters.AddWithValue("@DateTime", SqlDbType.Date)
cmdb.ExecuteNonQuery()
con.Close()
End Using
End Using我认为这是因为SQL将其读取为文字字符串,而不是日期。
有人能帮助正确的语法吗?
任何帮助都非常感谢
发布于 2014-04-30 10:55:15
SqlDbType是一个枚举。您正在尝试使用它的一个值(SqlDbType.Date),即int作为参数值。您需要提供一个DateTime值:
cmdb.Parameters.AddWithValue("@DateTime", YourDateTimeVariable)如果您尝试添加当前日期和时间,则不需要从代码中提供它,您可以:
使用DateTime.Now():
cmdb.Parameters.AddWithValue("@DateTime", DateTime.Now());或者使用Server中的GETDATE()函数:
Using cmdb = New SqlCommand("INSERT INTO Tarrifs (Tarrif, Created_Date) VALUES (@tarrif2, GETDATE())", con)
con.Open()
cmdb.Parameters.AddWithValue("@tarrif2", TextBox1.Text)
cmdb.ExecuteNonQuery()
con.Close()
End Using发布于 2014-04-30 10:56:01
这是因为您没有为@DateTime参数提供日期值。您已经指定了一个数据类型,它是一个整数。
谢谢
https://stackoverflow.com/questions/23386154
复制相似问题