2014-02-25 18 views
0

我想從Access數據庫中找到特定值。然後將此值作爲驗證的一部分進行操作(根據數據庫中的最小值和最大值對用戶輸入值進行權重)從VB.net查找數據庫的具體值

我可以從數據庫中獲取數據,但似乎無法填充數據表。我希望用戶輸入主鍵,然後當單擊按鈕時,SQL語句使用該輸入來查找該值,然後將該值放入數據表並將該值吐出到文本框中。我想,如果我能得到它吐出正確的價值,那麼我可以把值放入我可以操縱的變量。

我不需要更改數據庫中的數據我只需要收集值以驗證用戶輸入的數據。這是我迄今爲止的代碼。

Private Sub btnValidate_Click_1(sender As System.Object, e As System.EventArgs) Handles btnValidate.Click 

    Dim ds As New DataSet 
    Dim da As OleDb.OleDbDataAdapter 

    dbConnect.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\crabara\Desktop\Project Alpha 3\MDB.accdb;Persist Security Info=False;" 
    dbConnect.Open() 

    da = New OleDb.OleDbDataAdapter("SELECT MoldVinylWeightMin FROM PROCESS_INFO WHERE PCRNumber =" & txtPcr.Text, dbConnect) 

    da.Fill(ds, "MinWeight") 


    TextBox1.Text = ds.Tables("MinWeight").Rows(0).Item(0) 

End Sub 

現在它會拋出錯誤「標準表達式中的數據類型不匹配」。任何幫助都會很棒,我無法找到關於此的更多信息。

+0

這是工作的代碼,它會從用戶的主鍵,並在數據庫中找到特定的值。然後將該值從文本框中打印出來。 – Crabara

回答

2

如果PRCNumber是在數據庫中的數字類型,你將不再需要引用它

so: PCRNumber ='" & txtPcr.Text & "'" 
    becomes 
PCRNumber = " & txtPcr.Text 
+0

是PCRNumber是一個數字類型。 – Crabara

+0

它的工作,這是如此愚蠢。謝謝你,我認爲,而不是一個文本框,我可以把它轉換成正確的變量? – Crabara

+1

爲安全起見,您應該在組裝SELECT語句之前檢查數字輸入的文本框,但是一旦經過驗證(例如,使用If IsNumeric(txtPrcr.Text)= False Then ... [錯誤消息給用戶])可以使用文本框。文本 –