我想通过代码在datagrid中显示数据库中的表的数据
比如,有一张表,表名:学生。字段名和值分别为:
学号 姓名 年龄 入学日期
01 张三 20 2001-2-3
02 李四 23 2001-9-1
03 王五 22 2002-1-2
…………
…………
我想在代码中给datagrid加入 列标题和每行数据
请教高手!
能否给出详细点的原代码,因为我是小菜!
谢谢了!
我自己的代码一直不对,不知道是何原因
adoRS.open "select * from student",cn
Set Grid.DataSource = adoRS
Grid.Columns(0).Caption = "学号"
Grid.Columns(1).Caption = "姓名"
Grid.Columns(2).Caption = "年龄"
Grid.Columns(3).Caption = "入学日期"With adoRS
If Not .EOF Then
Grid.Columns(0).DataField = .Fields("stid").Name
Grid.Columns(1).DataField = .Fields("stname").Name
Grid.Columns(2).DataField = .Fields("age").Name
Grid.Columns(3).DataField = .Fields("date").Name
End If
End With
Grid.Refresh
比如,有一张表,表名:学生。字段名和值分别为:
学号 姓名 年龄 入学日期
01 张三 20 2001-2-3
02 李四 23 2001-9-1
03 王五 22 2002-1-2
…………
…………
我想在代码中给datagrid加入 列标题和每行数据
请教高手!
能否给出详细点的原代码,因为我是小菜!
谢谢了!
我自己的代码一直不对,不知道是何原因
adoRS.open "select * from student",cn
Set Grid.DataSource = adoRS
Grid.Columns(0).Caption = "学号"
Grid.Columns(1).Caption = "姓名"
Grid.Columns(2).Caption = "年龄"
Grid.Columns(3).Caption = "入学日期"With adoRS
If Not .EOF Then
Grid.Columns(0).DataField = .Fields("stid").Name
Grid.Columns(1).DataField = .Fields("stname").Name
Grid.Columns(2).DataField = .Fields("age").Name
Grid.Columns(3).DataField = .Fields("date").Name
End If
End With
Grid.Refresh
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
If cn.State = 1 Then
cn.Close
End If
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb"
Dim strSQl As String
strSQl = "select * from students'"
rs.Open strSQl, cn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
End Sub列标题和数据都会自动加入
运行后,DataGrid的列标题和数据均没有,如果用鼠标点击DataGrid,就有
“实时错误‘7005’,行设置不可用。”弹出。
这是怎么回事?
再次请教高手!
急啊!!!!!
Private Sub Form_Load()
' sutra
CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\学生.mdb;Persist Security Info=False"
If AdoCnn.State = 0 Then AdoCnn.Open CnStr
Set RS = Nothing
Show_DataGrid
End SubSub Show_DataGrid() '这个过程把整张表读出来
DataGrid1.Font.Size = 12
If RS.State = 1 Then RS.Close: Set RS = Nothing
AdoCnn.CursorLocation = adUseClient
RS.Open "select * from[学生] order by 学号asc", AdoCnn, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub
Public RS As New ADODB.Recordset
不过,还有一个小问题,一起问吧,嘿嘿……
就是DataGrid显示数据时,其实表中只有两条数据,但DataGrid显示的却是三条数据,前面两条是确实存在的数据,第三条为空白数据,如果鼠标点击了第三条空白数据,就会有:
"实时错误‘94’,无效使用NULL"
出现。请问如何解决呢?
谢谢了!!!