是这样子的,小弟刚学VB,今天自己在做一个东西,问题如下··
数据库中有一个药品信息表 medicine ,其中有个字段  yxqz 表示有效期。格式为日期格式。
我想利用ADODC控件将该字段中的数据全部赋值到一个数组中。我自己琢磨了一下午没弄出来···希望各位大哥能帮我写一段··谢谢···以下是我的代码··~乱七八糟···见笑····结果都是下标越界,我不知道是代码写错了还是其他什么问题··希望各位大哥能帮忙解决下··再次感谢···
Dim c As Date
Dim x(0 To 50000) As String
Dim b, d, gPrivate Sub Command1_Click()
g=0
Adodc1.RecordSource = "select yxqz from medicine"
  Adodc1.RefreshDo
Adodc1.Recordset.MoveFirst
x(g) = Adodc1.Recordset.Fields("yxqz")
g = g + 1
Adodc1.Recordset.MoveNext
Loop Until Adodc1.Recordset.EOFEnd Sub
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\date\mydb.mdb;Persist Security Info=False"
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from medicine"
    Adodc1.Refresh
End Sub

解决方案 »

  1.   

    很容易啊
    获取记录集后,用getstring方法将所有数据转化成一个字符串,并设置好分隔符和分行符,然后再split就可以了
      

  2.   

    Do 
    Adodc1.Recordset.MoveFirst 
    x(g) = Adodc1.Recordset.Fields("yxqz") 
    g = g + 1 
    Adodc1.Recordset.MoveNext 
    Loop Until Adodc1.Recordset.EOF这段代码中的 "Adodc1.Recordset.MoveFirst "写错位置了,你把这句话放到循环的外面.
    你现在把它放在了循环里面,当程序运行到这个循环语句时候,永远不可能跳出这个循环.