0
我在SQLiteStudio 3.1.0中使用了相同的SQL查询,它在使用我传入的相同参数时没有问题。当我使用相同的SQL并在我的VB中使用下面的代码时项目返回0而不是正确的值。返回0而不是实际值
Private Function GetData() As Object
Dim sql As String = "Select Data from Table where Option = ?"
Return FunctionObject(sql, New List(Of Object) From {"This is a Test"})
End Sub
Public Function FunctionObject(ByVal sql As String, ByVal parameters As List(Of Object)) As Object
Using sqlconnection As New SQLiteConnection(ConnectionString)
sqlconnection.Open()
Using Cmd As New SQLiteCommand(sql, sqlconnection)
Dim par As SQLiteParameter
For Each parm As Object In parameters
par = Cmd.CreateParameter()
par.Value = parm
Cmd.Parameters.Add(par)
Next
FunctionObject = Cmd.ExecuteScalar()
End Using
End Using
End Function
我将对象列表传入参数的方法。连接字符串的工作原理是因为它使其他SQL查询工作。我有一组相同的使用OleDb的代码,它的构建方式与此完全相同,并且可以使用此相同的SQL语句。那么是否有我丢失的东西可以使行为不同于SQLite和OleDb连接和executeScalar,因为一个返回0,另一个返回正确的字符串?
什么是'sqlQuery'?您从未完成对'sql'的查询。参数也看起来没有命名。 – TyCobb
对不起,我没有在Cmd中的正确的变量。 sql正在寻找名称为SomeVariable的列数据。它通过了方法 –
您的声明虽然仍然不完整。 '从表中选择数据,其中选项='就像''这是必须的我们'')看看这个问题:http://stackoverflow.com/questions/809246/adding-parameters-in-sqlite-with-c-锐利 – TyCobb