简体   繁体   中英

SQL statement error in VB.Net

This is the SQL statement which I taken from debug mode in VB.Net.

SELECT  dt_Date as 'Date', 
        s_Time as 'Time', 
        s_For as 'For', 
        s_Categ as 'Category', 
        s_Count as 'Count', 
        s_Remarks as 'Remarks' 
FROM Entry 
WHERE (s_ENo = '22' and dt_date BETWEEN '06-05-16' And '27-05-16')

I am not sure what's wrong with the above statement since everything seems to be fine to my eyes.

Description of the Error Message

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

Any suggestions how to solve this riddle?

Instead if string literals, use strongly-typed parameters. In addition to avoiding data type conversion issues on the SQL Server side, parameters:

  • Avoid the need to format date/time string literals in a particular way
  • Improve performance by providing execution plan resue
  • Prevent SQL injection (barring dynamic SQL on the server side)

If you are using MS-SQL server than use following instructions.

The basic solution is that you have to provide date into either mm/DD/YYYY format or in YYYY-MM-DD date format into ms-sql query.

So, before passing date to query convert your date into either mm/DD/YYYY format or in YYYY-MM-DD format.

您必须将日期字符串格式设置为YYYYMMDD,或者如果您知道服务器日期格式,则与服务器格式相同

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM