问题描述
|
我想在vb中传递一个日期作为参数来查询表中的数据。
如果我对查询中的值进行硬核化,那么它对我来说很好用,但是如果我将其作为参数传递给查询,就像我从编辑文本中获取数据并尝试将其作为参数发送一样,则此方法将不起作用。
SELECT *
FROM VehicleAnalogParamDownload2
WHERE Vapd2_Date between \'From_date.Text\' And \'To_Date.Text\'
谢谢
解决方法
不要将值直接嵌入到SQL语句中。
请改用参数化查询。这样,您就不必担心日期/时间格式的不同,对于其他参数,您可以避免SQL注入攻击。您的SQL看起来像这样:
SELECT * FROM VehicleAnalogParamDownload2
WHERE Vapd2_Date between @FromDate And @ToDate
然后您将以编程方式填写@FromDate
和@ToDate
参数值。
有关示例,请参阅SqlCommand.Parameters
的文档。
, 在vb中
dim str as string
str=\"SELECT * FROM VehicleAnalogParamDownload2 WHERE Vapd2_Date between\" &
From_date.Text & \"\' And \'\"& \'To_Date.Text\'\"