vb操作SQL数据库问题:请问:我有一SQL数据库,机器名aaa,数据库名称:abc,里面有一张表,表名:图书管理表
里面有以下几个内容:(以下内容仅供编程参考,不是实际内容)书名               作者  出版日期   ISBN编号   类别   书架号
简爱                      1980                 小说   5
VB编程标准                 2001       IS-345    编程   6问1:现在我要将此表内的所有数据读入一数组内,最好是按书名排序
private type mybook
bookname   as string
bookwriter as string
bookdate   as string
isbn       as string
booksort   as string
shelf      as string
end type请问如何实现?(注意,表内有的项目可有可无)
问2:如果我要向表内添加或修改东西,如何实现?
有示例代码最好!

解决方案 »

  1.   

    rs.open "select * from 表 order by name"redim mybook(rs.recordcount)
     for i=0 to ubound(mybook)
        do while not rs.eof
           mybook(i).bookname=bookname
           ......
        loop
     next
    思路
      

  2.   

    dim my_book () as mybook
    dim i as integer
    rs.open "select * from 表 order by name"redim my_book (rs.recordcount-1) as mybook
        do while not rs.eof
           my_book(i).bookname=rs.filds(bookname).value
           my_book(i).bookwriter=rs.filds(bookwriter).value
           my_book(i).bookdate=rs.filds(bookdate).value
           my_book(i).isbn=rs.filds(isbn).value
           my_book(i).booksort=rs.filds(booksort).value
           my_book(i).shelf=rs.filds(shelf).value
           rs.movenext
           i = i +1
        loop
    rs.close
    set rs =nothing
      

  3.   

    引用 Microsoft ActiveX Data Objects 2.5 Library 或以上版本
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset问1:如楼上解答
    问2:添加数据: conn.execute("insert into 图书管理表 values('某书名','作者名','出版日期','ISBN编号','类别','书架号'")
    修改数据:conn.execute("update 图书管理表 书名='某书名',作者='作者名'")
      

  4.   

    rs.open "select * from 表 order by name",adopenstatic否则你不能用RECORDCOUNT的。
      

  5.   

    好像不行.下面是我的代码  会出现错误“未找到方法或成员“在书名处停住了,请帮我看一下是怎么回事?
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    dim my_book () as mybook
    Dim i As Integer
    conn.ConnectionString = "PROVIDER=MSDASQL;driver={SQL Server};server=aaa;uid=sa;pwd=;database=abc;"
    rs.Open "select * from 表 order by 书名", adOpenStaticReDim my_book(rs.RecordCount - 1) As mybook
        Do While Not rs.EOF
           my_book(i).bookname=rs.filds("书名").value
           my_book(i).bookwriter=rs.filds("作者").value
           my_book(i).bookdate=rs.filds("出版日期").value
           my_book(i).isbn=rs.filds("ISBN编号").value
           my_book(i).booksort=rs.filds("类别").value
           my_book(i).shelf=rs.filds("书架号").value
           rs.MoveNext
           i = i + 1
        Loop
    rs.Close
    Set rs = Nothing
      

  6.   

    哦,明白了.filds拼错了,应是fields