我自己写的代码,用ADO进行VB与SQL连接,用MSFlexGrid控件显示数据库中的数据~~首先要添加ADO引用和MSFlexGrid控件~~Private Sub Command1_Click() Dim con As New ADODB。
Connection '定义ADO对象 Dim rs As New ADODB。 Recordset Dim strsql As String Dim i As Integer con。
ConnectionString = "provider=SQLOLEDB。1;data source=(local);initial Catalog=Student; integrated security=SSPI" '初始化对象,打开连接(Windows身份验证) con。
Open strsql = "select * from Student" rs。Open strsql, con, 2, 2 '打开记录集 '使用rs填充控件 '初始化控件 With MSFlexGrid1 。
Cols = rs。Fields。Count + 1 '设定表格列数,统计字段数量,列数要比字段数多一个(Fields。 Count为字段数),第一列为空列,当记 录指示器用 。
Rows = rs。RecordCount + 2 '使用 RecordCount 属性可确定Recordset对象中记录的数目。ADO 无法确定记录数时,或者如果提供 者或游标类型不支持 RecordCount,则该属性返回 1。
即该初始化行数为1; 。ColWidth(2) = 1800 '第3列的宽度为1800 。TextMatrix(0, 0) = "序号" '设置第1行第1列的文本内容 。
TextMatrix(0, 1) = rs(0)。Name '读出数据使用textmatrix属性,将第1个字段的名称赋值给 控件单元格 。 TextMatrix(0, 2) = rs(1)。
Name End With '填充控件 i = 1 While Not rs。EOF MSFlexGrid1。Rows = MSFlexGrid1。Rows + 1 '添加新行 MSFlexGrid1。
TextMatrix(i, 0) = Str(i) MSFlexGrid1。 TextMatrix(i, 1) = rs(0) '在当前记录中,将第1个字段的内容赋值给控件单元格 MSFlexGrid1。
TextMatrix(i, 2) = rs(1) i = i + 1 rs。MoveNext '跳到下一条记录 Wend rs。Close con。 Close End Sub。