好的,所以我遇到了问题
我知道stackoverflow中有很多问题,我看到了很多问题。但问题是我的查询是从DataReader间接加载的...
我看到了类似的问题,但无法理解,因为它在ASP.NET中使用C#
以下是我的代码......
cmd = New SqlCommand("Select * from FASPRODUCT WHERE FASPRODUCT.Trans_Date between '@ClaimFdt' and '@ClaimTdt'", con1)
cmd.Parameters.Add("ClaimFdt", SqlDbType.DateTime).Value = ClaimFdt.value '(even tried .Text Property)
cmd.Parameters.Add("ClaimTdt", SqlDbType.DateTime).Value = ClaimTdt.value '(even tried .Text Property)
Dim dr As SqlDataReader = cmd.ExecuteReader()
Dim dt = New DataTable()
dt.Load(dr) '----------------- exception caught from here
我的其他代码(不是这里)ExecuteNonQuery()
时发生了这个问题,但是这里的一些人建议我添加参数,所以我再次尝试使用参数..
如果在VB.Net中有任何其他与我类似的问题,请将其标记为重复,甚至发布原始问题的链接,它将非常有用..
转换无法从字符串转换日期/时间
答案 0 :(得分:1)
只需删除@ClaimFdt和@ClaimTdt中的引号, Reza Aghaei
cmd = New SqlCommand("Select * from FASPRODUCT WHERE FASPRODUCT.Trans_Date between @ClaimFdt and @ClaimTdt", con1) '------- Remove Quotes from @ClaimFdt and ClaimTdt
cmd.Parameters.Add("ClaimFdt", SqlDbType.DateTime).Value = ClaimFdt.value '(even tried .Text Property)
cmd.Parameters.Add("ClaimTdt", SqlDbType.DateTime).Value = ClaimTdt.value '(even tried .Text Property)
Dim dr As SqlDataReader = cmd.ExecuteReader()
Dim dt = New DataTable()
dt.Load(dr) '----------------- exception caught from here