Vb6 中没有为一个或多个必需参数给出值

问题描述 投票:0回答:2

我是 Vb6 新手。

我尚未在数据库中插入数据,当我运行程序时,显示错误未为一个或多个必需参数给出值

这是代码:

Dim list As ListItem, r As Integer
If recset.State = adStateOpen Then recset.Close

recset.Open "SELECT StudentId, LastName, FirstName, MiddleName FROM Students ORDER BY StudentId", rainCon, adOpenStatic, adLockOptimistic

If recset.RecordCount > 1 Then
    MsgBox "No Data Found!", vbInformation, ""
Else
    ListView1.ListItems.Clear
    Do While Not recset.EOF
    
        r = r + 1
        
        Set list = ListView1.ListItems.Add(, , r)
        list.SubItems(1) = recset(0).Value
        list.SubItems(2) = recset(1).Value
        list.SubItems(3) = recset(2).Value
        list.SubItems(4) = recset(3).Value
    
        recset.MoveNext
    Loop
End If

然后突出显示recset.Open部分。如何控制或修复这个错误?

vb6
2个回答
0
投票

当我多次尝试重新检查我的代码和数据库时。我发现我的学生表中缺少一个属性。该代码功能齐全。


-1
投票

找出完整的工作代码。

私有子cmdAddItemtoListBox_Click()

结束子

根据您的数据更改数据库路径、名称和表。

Output Screenshot

Dim xCon    As New ADODB.Connection

Dim rsTable As New ADODB.Recordset

Dim StrSqlQuery As String

Dim Counter     As Integer

Dim list        As ListItem

If xCon.State = 1 Then xCon.Close
xCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test\Test.mdb;Persist Security Info=False"
'
StrSqlQuery = ""
StrSqlQuery = "Select * from Data Order by PrintSl"

If rsTable.State = 1 Then rsTable.Close
rsTable.CursorLocation = adUseClient
rsTable.Open StrSqlQuery, xCon, adOpenStatic, adLockReadOnly

If rsTable.RecordCount > 0 Then
    rsTable.MoveFirst
    ListView1.ListItems.Clear
    ListView1.ColumnHeaders.Add , , "ID"
    ListView1.ColumnHeaders.Add , , "Customer Name"
    ListView1.ColumnHeaders.Add , , "Address"
    ListView1.ColumnHeaders.Add , , "Pincode"
    ListView1.ColumnHeaders.Add , , "Amount"

    Do While Not rsTable.EOF
        Counter = ListView1.ListItems.Count + 1
        Set list = ListView1.ListItems.Add(, , Counter)
        list.ListSubItems.Add , , rsTable!CUSTOMERNAME
        list.ListSubItems.Add , , rsTable!ADDRESS1
        list.ListSubItems.Add , , rsTable!pin
        list.ListSubItems.Add , , rsTable!LOAN_AMOUNT
        rsTable.MoveNext
    Loop
Else
    MsgBox "No record found in the table.", vbCritical

End If

If rsTable.State = 1 Then rsTable.Close
If xCon.State = 1 Then xCon.Close
MsgBox "Record Add Successfully", vbInformation
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.