【发布时间】:2014-03-21 15:08:12
【问题描述】:
我有一些问题是我的代码VB.Net:我有这个功能:
Public Shared Function AfficherResultat(ByVal _region As Double, ByVal _datvente As DateTime, ByVal _speculation As String) As DataSet
Dim ds As DataSet
Dim cnn As SqlConnection = OuvrirConnection()
Dim dscmd As SqlDataAdapter
Dim sql As String = "select * from traitementprix where ( region =" + _region.ToString() + " and Datvente = " + _datvente.ToString() + " and speculation = N'" + _speculation + "')"
dscmd = New SqlDataAdapter(sql, cnn)
ds = New DataSet()
dscmd.Fill(ds, "traitementprix")
Return ds
End Function
我在这行有一个错误
dscmd.Fill(ds, "traitementprix")
错误是'00'附近的语法不正确。
我不熟悉 Vb.net 语法,也找不到解决方案。
- 这个错误的原因是什么?
- 我该如何解决?
【问题讨论】:
-
尝试更改
... + " and speculation = 'N" + _speculation + "')" -
使用参数化 SQL。首先,这可以很好地解决您当前的问题,其次它有助于防止 SQL 注入攻击。
-
@JonSkeet : 在这个例子中如何使用参数化 SQL?
-
和平常一样——你尝试过什么,遇到了什么问题?见msdn.microsoft.com/en-us/library/bbw6zyha(v=vs.110).aspx
标签: sql .net vb.net dataset double