2015-02-11 67 views
0

我工作的一個項目,並再次撞到南牆。我有一個列表框,裏面有一些數學運算(即「1 + 2 = 3」)。我試圖將列表框中的所有項目保存到訪問數據庫,並且我認爲我正在接近。數據庫有兩個我手動輸入的條目,但是當我使用下面的代碼時,我只在列表框中(當我清除列表框並將數據庫加載到列表框中時)得到-1(加上兩個手工條目)。另一個問題是我需要限制數據庫10行,我不知道該怎麼做。我想要做的是檢查數據庫,每次我保存它看看它有多少行。如果我保存的列表框項目的數量將超過數據庫中的10行,則清除數據庫並從0行開始。下面是代碼我有(其中僅嘗試保存到數據庫):保存列表框的所有項目,以Access數據庫表在VB.Net

con.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = Mathops.accdb; Persist Security Info=False;" 
    Dim cmd As New OleDbCommand 
    Dim var1 As String 
    con.Open() 

    cmd.Connection = con 
    Try 
     For i As Integer = 0 To lstDisplay.Items.Count - 1 
      var1 = lstDisplay.Items.Item(i).ToString 
      cmd.CommandText = ("INSERT into Records (Operations) VALUES(" + var1 + ")") 
      cmd.ExecuteNonQuery() 

     Next 
    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try 
    con.Close() 

謝謝您可以提供任何幫助!

約翰

唉......數據庫有2個字段; ID和操作,其中ID是主鍵。

回答

0

使用try listdisplay.items(i)至從你的列表框中的文本。

然後整理出10項問題:

如果你做一個SQL查詢: SELECT MAX(ID)FROM記錄,這將使你在表中的值最大的ID

然後檢查返回值> = 10,如果使用SQL: DELETE FROM Records清除表。

+0

感謝您的回覆!我原本是這樣做的。問題是它根本不會拋出任何異常,它只是不會將任何內容保存到數據庫中。如果我點擊保存按鈕,然後清除列表框,然後加載數據庫,我得到所有的-1。但是當我檢查數據庫時,那裏並沒有保存。 – 2015-02-12 01:21:50

+0

將您的SQL導出到剪貼板並仔細查看它,以便您可以看到它正在嘗試執行的操作 – DovesandChicks 2015-02-12 10:59:03

相關問題