是你的数据库打开的方式不对 给一个使用控件的例子给你吧。 With Adodc1 .CommandType = adCmdUnknown .RecordSource = "select * from 品管报表 .Refresh end with 如果使用ado对象的话Set Conn = New ADODB.Connection Set rs = New ADODB.Recordset StrCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=fy;Data Source=FY" rs.Open sql, StrCon, adOpenKeyset, adLockOptimistic Conn.Open StrCon 如果是使用datagrid控件的话把datagrid的datagroup的属性赋值成记录集就可以了。 set datagrid.datasoure = rs
我也是用data控件,直接绑定数据库,不是ado的~~把你的代码贴出来~~或许我能帮你~~
应该是你的数据库设成只读的吧!照例不会发生这样的问题!!以下是一个简单的利用Data控件实现数据查询的例子 '添加记录 Private Sub CommandADD_Click() Data1.Recordset.AddNew End Sub '删除记录 Private Sub CommandDELE_Click() Data1.Recordset.Delete If Data1.Recordset.EOF = True Then '如果删除的是末记录,则 Data1.Recordset.MoveLast '如果删除的是末记录,则记录指针移到上一条记录 Else Data1.Recordset.MoveNext '如果删除的不是末记录,则记录指针移到下一条记录 End If End Sub Private Sub CommandQUIT_Click() Data1.Recordset.Close End End SubPrivate Sub Form_Load() Data1.DatabaseName = App.Path & "\" & "学生管理.mdb" End Sub
给一个使用控件的例子给你吧。
With Adodc1
.CommandType = adCmdUnknown
.RecordSource = "select * from 品管报表
.Refresh
end with
如果使用ado对象的话Set Conn = New ADODB.Connection
Set rs = New ADODB.Recordset
StrCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=fy;Data Source=FY"
rs.Open sql, StrCon, adOpenKeyset, adLockOptimistic
Conn.Open StrCon
如果是使用datagrid控件的话把datagrid的datagroup的属性赋值成记录集就可以了。
set datagrid.datasoure = rs
'添加记录
Private Sub CommandADD_Click()
Data1.Recordset.AddNew
End Sub
'删除记录
Private Sub CommandDELE_Click()
Data1.Recordset.Delete
If Data1.Recordset.EOF = True Then '如果删除的是末记录,则
Data1.Recordset.MoveLast '如果删除的是末记录,则记录指针移到上一条记录
Else
Data1.Recordset.MoveNext '如果删除的不是末记录,则记录指针移到下一条记录
End If
End Sub
Private Sub CommandQUIT_Click()
Data1.Recordset.Close
End
End SubPrivate Sub Form_Load()
Data1.DatabaseName = App.Path & "\" & "学生管理.mdb"
End Sub