Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=plkk"
Adodc1.RecordSource = "select * from project "
 Adodc1.Refresh
 If Adodc1.Recordset.EOF = True Then
    MsgBox "无符合条件的记录"
    Exit Sub
End If
Set DataGrid1.DataSource = Adodc1.Recordset
DataGrid1.Enabled = TrueDataGrid1.Columns.Item(0).Caption = "1"
DataGrid1.Columns.Item(0).DataField = "projectno"DataGrid1.Columns.Item(1).Caption = "2"
DataGrid1.Columns.Item(1).DataField = "companyname"DataGrid1.Columns.Item(2).Caption = "3"
DataGrid1.Columns.Item(2).DataField = "openbrno"DataGrid1.Columns.Item(3).Caption = "4"
DataGrid1.Columns.Item(3).DataField = "openflag"DataGrid1.Columns.Item(4).Caption = "5"
DataGrid1.Columns.Item(4).DataField = "appno"DataGrid1.ScrollBars = dbgBoth
DataGrid1.Refresh当执行至DataGrid1.Columns.Item(2).Caption = "3"时报错实时错误9,下标越界
谢谢帮我解答一下!!!

解决方案 »

  1.   

    你要看一下你的查询结果有几列,是不是只有2列DataGrid1.Columns.Item(0).Caption = "1"
    DataGrid1.Columns.Item(0).DataField = "projectno"DataGrid1.Columns.Item(1).Caption = "2"
    DataGrid1.Columns.Item(1).DataField = "companyname"DataGrid1.Columns.Add 2        '这是增加列的语句DataGrid1.Columns.Item(2).Caption = "3"
    DataGrid1.Columns.Item(2).DataField = "openbrno"DataGrid1.Columns.Add 3DataGrid1.Columns.Item(3).Caption = "4"
    DataGrid1.Columns.Item(3).DataField = "openflag"DataGrid1.Columns.Add 4DataGrid1.Columns.Item(4).Caption = "5"
    DataGrid1.Columns.Item(4).DataField = "appno"
    DataGrid1.ScrollBars = dbgBoth
    DataGrid1.Refresh
      

  2.   

    这个东西比较笨,要手动添加通过DATAGRID11.Columns.Add 添加一列,一次只能添加一列如果你想加多些,就要多加