<不知道大家碰到过类似的问题没有??>数据库被开,却不能关,一关的话datagrid就不能显示里面的值.但是不关的话,执行第二次运行的时候就会报
部分源程序如下:
Dim sige As Boolean 'sign -N'标识 ,记号,V'签名
Dim symbol As Boolean 'symbol -N '符号,记号,象征
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset //通用申明
:
:
Private Sub Command2_Click() //确定按钮.确定是添加还是修改数据.如果已经添加了一次,或修改了一次.再添加另外一次数据时,或再修改另外一个数据时,就会报错:对象打开,不充许操作.
'On Error GoTo a
Dim sqlinsert As String
Dim sql As String
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path + "\db1.mdb" & ";Persist Security Info=False"
//原因是我把cn.open打开了.但是不能关,一关的话.datagrid里面的值就显示不出来了.
If sige = True Then
sqlinsert = "insert into cz(配件名称,车型,库存数,单位,成本价,仓位,入库日期,操作员)values('" & Trim(Text1.Text) &
"','" & Trim(Text4.Text) & "','" & Trim(Text5.Text) & "','" & Trim(Text6.Text) & "','" & Trim(Text2.Text) & "','" &
Trim(Text3.Text) & "','" & Date & "','" & Combo1.Text & "')"
rs.Open sqlinsert, cn, adOpenDynamic, adLockBatchOptimistic
Call database
sige = False
End If
If symbol = True Then
If Text7.Text = "" Then
MsgBox "请选择要修改的配件", vbInformation, "提醒"
Else
sqlinsert = "update cz set 配件名称='" & Trim(Text1.Text) & "',车型='" & Trim(Text4.Text) & "',仓位='" & Trim
(Text3.Text) & "',库存数='" & Trim(Text5.Text) & "',单位='" & Trim(Text6.Text) & "',成本价='" & Trim(Text2.Text) &
"' where 配件编号=" & Text7.Text & ""
rs.Open sqlinsert, cn, adOpenDynamic, adLockBatchOptimistic
Call database //调用database
symbol = False
End If
End If
'a:
End Sub
Private Sub database()
cn.CursorLocation = adUseClient
sql = "select * from cz"
rs.Open sql, cn, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = rs //不能关cn.close. 一关的话datagrid1就不能显示值了.
Command2.Enabled = False
Text7.Enabled = False
Text1.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
End Sub
注:程序语法上没有什么错误,如果只修改一条.或只修改一条就没什么错误了.
command2是"确定"按钮.确定是添加还是修改数据.如果已经添加了一次,或修改了一次.再添加另外一次数据时,或再修改另外一个数据时.就会报错:对象打开,不充许操作.
换一句话来说.我就想实现.添加一条数据.点确定.再添加一条数据.再点确定.如此类推........
或.修改一条数据,点确定.再修改一条数据,再点确定.如此类推........
但是不行,我第一次运行时,功能实行.但我没有关掉cn.close;
因为关掉cn.close后.datagrid1中就不能显示了.
求大家.我怎么样才能实现这个功能.谢了.