我正在开展一个项目并再次打砖墙。我有一个列表框,里面有一些数学运算(即“1 + 2 = 3”)。我试图将列表框中的所有项目保存到访问数据库,我想我已经接近了。数据库有两个我手动输入的条目,但是当我使用下面的代码时,我只在列表框中得到-1(加上两个手动条目)(当我清除列表框并将数据库加载到列表框中时)。另一个问题是我需要将数据库限制为10行,我不知道该怎么做。我想要做的是每次保存时检查数据库以查看它有多少行。如果我保存的列表框项目数量将超过数据库中的10行,则清除数据库并从0行开始。这是我的代码(只尝试保存到数据库):
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 :(得分:0)
尝试使用listdisplay.items(i)从列表框中获取文本。
然后解决10项问题:
如果您执行SQL查询: SELECT Max(id)FROM将为您提供表中最大id值的记录
然后检查你得到的值> = 10,如果它是使用SQL: 删除记录以清除表格。