删除完之后提交一下!!你是用什么方式删除的~?Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号) Dim rs As New ADODB.Recordset'在MSHFLEXGRID表格控件中显示查询到的内容 Private Sub Command1_Click() If rs.State = adStateOpen Then rs.Close rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic Set MSHFlexGrid1.DataSource = rs End Sub'向数据库中添加数据 Private Sub Command2_Click() If rs.State = adStateOpen Then rs.Close rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic rs.AddNew rs!UID = txtUid.Text rs!PWD = txtPwd.Text rs!TRUENAME = txtName.Text rs!CREATEDATE = Format(Now, "YYYY/MM/DD") rs.Update
Command1.Value = True End Sub'从数据库中删除数据 Private Sub Command3_Click() cn.Execute "DELETE FROM USERPASSWORD WHERE UID = '" & txtUid.Text & "'" Command1.Value = True End SubPrivate Sub Form_Load() cn.ConnectionString = "DBQ=" & App.Path & "\TelePhone.mdb;DefaultDir=" & _ App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _ "DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _ "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _ "Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;" cn.Open '查询字符串可以上这里查 'http://www.connectionstrings.com/ End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) On Error Resume Next rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub我已经测试了,删除之后不会出现你说的问题~~~~
大概的代码如下 sub command1_click() '删除按钮 Dim db As Database Dim rs As Recordset
Set db = DBEngine.OpenDatabase(App.Path & "\data\UserReport.bhp")
strMysqlSecondary = "DELETE * FROM MeasureResultSecondary WHERE MainID=1" db.Execute strMysqlSecondary
db.Close Set db = Nothing end sub 然后在command2_click中添加查询语句,往往需要点击几次command2才能更新显示,不知道是因为什么
打错了,刚才的数据库后缀为mdb
你上面的代码没有任何问题 除了 "DELETE * FROM MeasureResultSecondary WHERE MainID=1" 删除“*”
Dim rs As New ADODB.Recordset'在MSHFLEXGRID表格控件中显示查询到的内容
Private Sub Command1_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rs
End Sub'向数据库中添加数据
Private Sub Command2_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!UID = txtUid.Text
rs!PWD = txtPwd.Text
rs!TRUENAME = txtName.Text
rs!CREATEDATE = Format(Now, "YYYY/MM/DD")
rs.Update
Command1.Value = True
End Sub'从数据库中删除数据
Private Sub Command3_Click()
cn.Execute "DELETE FROM USERPASSWORD WHERE UID = '" & txtUid.Text & "'"
Command1.Value = True
End SubPrivate Sub Form_Load()
cn.ConnectionString = "DBQ=" & App.Path & "\TelePhone.mdb;DefaultDir=" & _
App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
"DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
"MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
"Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
cn.Open
'查询字符串可以上这里查
'http://www.connectionstrings.com/
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub我已经测试了,删除之后不会出现你说的问题~~~~
sub command1_click() '删除按钮
Dim db As Database
Dim rs As Recordset
Set db = DBEngine.OpenDatabase(App.Path & "\data\UserReport.bhp")
strMysqlSecondary = "DELETE * FROM MeasureResultSecondary WHERE MainID=1"
db.Execute strMysqlSecondary
db.Close
Set db = Nothing
end sub
然后在command2_click中添加查询语句,往往需要点击几次command2才能更新显示,不知道是因为什么
删除“*”
也可发到 [email protected]
不懂就要顶
而且你用的不是ado的Recordset,建议声明时标准写adodb.Recordset
最好不要用数据库对象操作删除这样的命令建议用command对象
具体代码在http://community.csdn.net/Expert/topic/3194/3194714.xml?temp=.3209803
Set db = Nothing去掉.
Set db = Nothing
后就没有问题了,能不能解释一下啊?
Set db = Nothing
这样每次操作要重新连接数据库啊,当然慢.应该是:
rs.Close
Set rs = Nothing
請你試用一個API函數sleep(1),
刪除記錄之后用下面兩個語句
sleep(1)
DoEvents
然後再顯示記錄。