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