why not use "select * from your tablename set yourrow=yourvalue"
Dim rstEmployees As ADODB.Recordset Dim strOldFirst As String Dim strOldLast As String Dim strMessage As String ' Open recordset with names from Employee table. strCnn = "driver={SQL Server};server=srv;" & _ "uid=sa;pwd=;database=pubs" Set rstEmployees = New ADODB.Recordset rstEmployees.CursorType = adOpenKeyset rstEmployees.LockType = adLockOptimistic rstEmployees.Open "SELECT fname, lname " & _ "FROM Employee ORDER BY lname", strCnn, , , adCmdText ' Store original data. strOldFirst = rstEmployees!fname strOldLast = rstEmployees!lname ' Change data in edit buffer. rstEmployees!fname = "Linda" rstEmployees!lname = "Kobara" ' Show contents of buffer and get user input. strMessage = "Edit in progress:" & vbCr & _ " Original data = " & strOldFirst & " " & _ strOldLast & vbCr & " Data in buffer = " & _ rstEmployees!fname & " " & rstEmployees!lname & vbCr & vbCr & _ "Use Update to replace the original data with " & _ "the buffered data in the Recordset?" If MsgBox(strMessage, vbYesNo) = vbYes Then rstEmployees.Update Else rstEmployees.CancelUpdate End If ' Show the resulting data. MsgBox "Data in recordset = " & rstEmployees!fname & " " & _ rstEmployees!lname ' Restore original data because this is a demonstration. If Not (strOldFirst = rstEmployees!fname And _ strOldLast = rstEmployees!lname) Then rstEmployees!fname = strOldFirst rstEmployees!lname = strOldLast rstEmployees.Update End If rstEmployees.Close 是不是和你的adOpenStatic有关呀
to outer2000: rs!姓名 = txtFields(2).Text & "" 只是其中一个,程序里最少有20个要改呀
不妨追踪一下,看是否确实找到了要找的纪录. Dim SQL As String SQL = "select * from 档案 Order by 学号" rs.Open SQL, conn, adOpenStatic, adLockOptimisticdebug.print rs.recordcount debut.print rs("学号")rs!姓名 = txtFields(2).Text & "" rs.Update
Dim strOldFirst As String
Dim strOldLast As String
Dim strMessage As String ' Open recordset with names from Employee table.
strCnn = "driver={SQL Server};server=srv;" & _
"uid=sa;pwd=;database=pubs"
Set rstEmployees = New ADODB.Recordset
rstEmployees.CursorType = adOpenKeyset
rstEmployees.LockType = adLockOptimistic
rstEmployees.Open "SELECT fname, lname " & _
"FROM Employee ORDER BY lname", strCnn, , , adCmdText ' Store original data.
strOldFirst = rstEmployees!fname
strOldLast = rstEmployees!lname
' Change data in edit buffer.
rstEmployees!fname = "Linda"
rstEmployees!lname = "Kobara" ' Show contents of buffer and get user input.
strMessage = "Edit in progress:" & vbCr & _
" Original data = " & strOldFirst & " " & _
strOldLast & vbCr & " Data in buffer = " & _
rstEmployees!fname & " " & rstEmployees!lname & vbCr & vbCr & _
"Use Update to replace the original data with " & _
"the buffered data in the Recordset?" If MsgBox(strMessage, vbYesNo) = vbYes Then
rstEmployees.Update
Else
rstEmployees.CancelUpdate
End If ' Show the resulting data.
MsgBox "Data in recordset = " & rstEmployees!fname & " " & _
rstEmployees!lname ' Restore original data because this is a demonstration.
If Not (strOldFirst = rstEmployees!fname And _
strOldLast = rstEmployees!lname) Then
rstEmployees!fname = strOldFirst
rstEmployees!lname = strOldLast
rstEmployees.Update
End If rstEmployees.Close
是不是和你的adOpenStatic有关呀
rs!姓名 = txtFields(2).Text & ""
只是其中一个,程序里最少有20个要改呀
Dim SQL As String
SQL = "select * from 档案 Order by 学号"
rs.Open SQL, conn, adOpenStatic, adLockOptimisticdebug.print rs.recordcount
debut.print rs("学号")rs!姓名 = txtFields(2).Text & ""
rs.Update