将varchar转换为smalldatetime会导致超出范围的值

3 vb.net smalldatetime

代码:

strSql = "insert into table2 (transactiondate) values ('" & transactiondate & "')"
Run Code Online (Sandbox Code Playgroud)

好像给了我运行时错误:

The conversion of a varchar data type to a smalldatetime data type resulted in an out-of-range value
Run Code Online (Sandbox Code Playgroud)

在代码中,strSql是一个String对象,transactiondate是一个Date对象.但是,在SQL数据库中,transactiondate是一个smalldatetime对象.

我已经尝试将smalldatetime更改为datetime(在数据库中),我尝试了transactiondate.toString()但没有成功.

怎么解决这个问题?

注意:我知道内联SQL的危险.我在这里寻找快速修复解决方案,而不是关于SQL注入的讨论.

Jos*_*lio 6

尝试在insert语句中添加单引号.

strSql = "insert into table2 (transactiondate) values ('" & transactiondate & "')"
Run Code Online (Sandbox Code Playgroud)

  • @jello:OP发布了关于他对SQL注入的意识的免责声明.这是一段代码片段.你不知道清洗`transactiondate`已经经历了什么.关于SQL的每一个讨论都不需要包含SQL注入. (4认同)