2016-09-10 40 views
0

「沒有爲一個或多個必需的參數給定值」我已經把下面的代碼中提取從Microsoft Access數據庫中的數據選擇數據 -

Private Sub PopulateList() 
    If RBDura.Checked = True Then 
     CmbTstNo.Items.Clear() 
     myConnection.ConnectionString = connstring 
     Try 
      myConnection.Open() 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 
     str = "SELECT DISTINCT Test_Code FROM Table_Durability_Test WHERE Log_Date BETWEEN " & DtFrom.Text & " and " & DtTo.Text & "" 
     cmd = New OleDbCommand(str, myConnection) 
     dr = cmd.ExecuteReader 
     While dr.Read() 
      CmbTstNo.Items.Add(dr.Item(0)) 
     End While 
     myConnection.Close() 
     CmbTstNo.SelectedIndex = 0 
    End If 
End Sub 

然而,當代碼填充ComboBox在VB.NET運行時,我得到一個錯誤

請指南「沒有對一個或多個必需的參數給定值」 ..

+0

不要粘在一起的字符串,以使SQL。使用SQL參數,以便傳遞正確的數據類型。 – Plutonix

回答

0

你的SQL字符串"SELECT DISTINCT Test_Code FROM Table_Durability_Test WHERE Log_Date BETWEEN " & DtFrom.Text & " and " & DtTo.Text & ""

如果您使用的是SQL,你必須圍繞單引號每個文本輸入輸入文本或字符串到數據庫中,以便您的SQL字符串應該是這樣的:

SELECT DISTINCT Test_Code FROM Table_Durability_Test WHERE Log_Date BETWEEN 'Value of DtFrom.Text' and 'Value of DtTo.Text'

注意,我已經包圍Value of DtTo.TextValue of DtFrom.Text單引號