Fields.Append不明白
Private Sub Loadcontrol(lPage As Long)
Dim adoPrimaryRS As ADODB.Recordset
Dim lPageCount As Long
Dim nPageSize As Integer
Dim lCount As Long
'每页显示的纪录
nPageSize = 30
Set adoPrimaryRS = New ADODB.Recordset
adoPrimaryRS.Open "select 姓名,密码,经验值 from ask ", conn, adOpenStatic, adLockOptimistic
adoPrimaryRS.PageSize = nPageSize
'页数
lPageCount = adoPrimaryRS.PageCount
If lCurrentPage > lPageCount Then
lCurrentPage = lPageCount
End If
adoPrimaryRS.AbsolutePage = lCurrentPage
'定义另一个记录集
Dim objrs As New ADODB.Recordset
'添加字段名称
For lCount = 0 To adoPrimaryRS.Fields.Count - 1
objrs.Fields.Append adoPrimaryRS.Fields(lCount).Name, adVarChar, adoPrimaryRS.Fields(lCount).DefinedSize
Next
'打开记录集
objrs.Open
'将指定记录数循环添加到objrs中
For lCount = 1 To nPageSize
If adoPrimaryRS.EOF Or adoPrimaryRS.BOF Then
Exit For
Else
objrs.AddNew
objrs!姓名 = adoPrimaryRS!姓名
objrs!密码 = adoPrimaryRS!密码
objrs!经验值 = adoPrimaryRS!经验值
adoPrimaryRS.MoveNext
End If
Next
'绑定
Set DataGrid1.DataSource = objrs
'在文本框显示页数
txtPage = lPage & "/ " & adoPrimaryRS.PageCount
End Sub
以下这段代码是什么意思,
objrs.Fields.Append adoPrimaryRS.Fields(lCount).Name, adVarChar, adoPrimaryRS.Fields(lCount).DefinedSize
为什么”objrs!经验值 = adoPrimaryRS!经验值“会报错呢,说是不能追加纪录为NULL,而且在sql语句中“select 姓名 as 'name '”的时候也出错,不知道是是为什么,请大伙多多帮忙了!
[解决办法]
就是在表中增加字段,这个说起来太多了,你可以看看msdn。或找一本关于ado方面的书看看。