我用listbox来显示从数据库中的数据(注:显示了多个字段),现在想通过listbox控件中已经显示的数据来删除一个记录集,也就是说先选择一行listbox控件中的一行,然后把他的内容传给一个变量,然后通过此变量来进行删除数据库的相应数据(用sql语句),不知道该怎么做?我的代码如下,无法通过:
   1.在listbox控件中显示数据库中数据代码:(此过程在此窗体载入是调用)
Private Sub LoadStdInfo()
Dim rsStdInfo As New ADODB.Recordset
lstStd.Clear
rsStdInfo.Open "Select * From StudentInfo", cnExam
While Not rsStdInfo.EOF
lstStd.AddItem rsStdInfo("SID") & Space(13 - LenB(StrConv(rsStdInfo("SID"), vbFromUnicode))) & rsStdInfo("SName") & Space(20 - LenB(StrConv(rsStdInfo("SName"), vbFromUnicode))) & IIf(rsStdInfo("Sex"), "男", "女") & Space(3) & rsStdInfo("SIDCard") & Space(25 - LenB(StrConv(rsStdInfo("SIDCard"), vbFromUnicode))) & rsStdInfo("SWork") & Space(30 - LenB(StrConv(rsStdInfo("SWork"), vbFromUnicode))) & IIf(rsStdInfo("SEnabled"), "有效", "禁用")
rsStdInfo.MoveNext
Wend
rsStdInfo.Close
End Sub
   2.想通过变量sid来接收用户在listbox控件中选择的内容,因为sid只是该控件显示内容中的一部分,也就是上面过程中的rsStdInfo("SID"), 不知道该如何做,还是listbox控件无此功能?望高手解答,小弟在线等待!!!
   rsStd.Open "select * from StudentInfo Where SID ='" & sid & "'", cnExam, adOpenStatic, adLockOptimistic

解决方案 »

  1.   

    在删除按钮中写代码,dim DeleSID as string * 13DeleSID = left( lstStd.ListIndex ,13)rsStd.Open "delete from StudentInfo Where SID ='" & DeleSID & "'", cnExam, adOpenStatic, adLockOptimistic'删除后重新刷新rsStd
    rsStd.Open "select * from StudentInfo", cnExam, adOpenStatic, adLockOptimistic
    第2个问题也是这样,dim ListSID as string * 13ListSID = left( lstStd.ListIndex ,13)   rsStd.Open "select * from StudentInfo Where SID ='" & ListSID & "'", cnExam, adOpenStatic, adLockOptimistic