Private Sub Command1_Click()
Dim intCount As Integer
Dim MsgText As String
Dim mrc As ADODB.Recordset
Call ConnectString
If Trim(Text1(0).Text) <> "" And Trim(Text1(1).Text) <> "" And Trim(Text1(2).Text) <> "" And Trim(Text1(3).Text) <> "" And Trim(Text1(4).Text) <> "" And Trim(Text1(5).Text) <> "" And Trim(Text1(6).Text) <> "" Then
txtSQL = "execute jklj_setup2"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.RecordCount > 0 Then-----------------提示说“对象变量或with块变量未设置。”
MsgBox "已经存在相同的记录!", vbOKOnly + vbExclamation, "警告"
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Text1(3).Text = ""
Text1(4).Text = ""
Text1(5).Text = ""
Text1(6).Text = ""
Text1(0).SetFocus
mrc.Close
Exit Sub
End If
Dim intCount As Integer
Dim MsgText As String
Dim mrc As ADODB.Recordset
Call ConnectString
If Trim(Text1(0).Text) <> "" And Trim(Text1(1).Text) <> "" And Trim(Text1(2).Text) <> "" And Trim(Text1(3).Text) <> "" And Trim(Text1(4).Text) <> "" And Trim(Text1(5).Text) <> "" And Trim(Text1(6).Text) <> "" Then
txtSQL = "execute jklj_setup2"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.RecordCount > 0 Then-----------------提示说“对象变量或with块变量未设置。”
MsgBox "已经存在相同的记录!", vbOKOnly + vbExclamation, "警告"
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Text1(3).Text = ""
Text1(4).Text = ""
Text1(5).Text = ""
Text1(6).Text = ""
Text1(0).SetFocus
mrc.Close
Exit Sub
End If
If Not Rs.EOF Then
但大家的办法都试过了,还是不行呀。
我代码里的“Call ConnectString”表示连接到数据库。
后,系统提示为“对象关闭时,操作不被允许。”
是怎么回事呀?
我建议你去看看MSDN的帮助啊!
那里比我们说的都详细啊!
用.eof .bof
有时候recordcount会出错
Public Function ConnectString()
ConnectString = "provider=sqloledb;server=lifengxia;uid=sa;pwd=;database=mis"
End Function
ado.CursorLocation = adUseServer
這兩個是有區別的,如果你要讀取recordcount 你就要用第一種情況的
要在程序开始处加上 Dim con as ADODB.Connection2.Public Function ConnectString()
ConnectString = "provider=sqloledb;server=lifengxia;uid=sa;pwd=;database=mis"
End Function
这是你连接函数的全部吗?
要是的话,得改成:
Public Function ConnectString()
con.ConnectString = "provider=sqloledb;server=lifengxia;uid=sa;pwd=;database=mis"
con.open
End Function3.Set mrc = ExecuteSQL(txtSQL, MsgText)
这句是不对的,你的mrc是ADODB.Recordset的实例,他没有ExecuteSQL,应该写成
con.ExecuteSQL txtSQL总之你程序错误太多了,建议你好好看看ADO的帮助。
这句是不对的,你的mrc是ADODB.Recordset的实例,他没有ExecuteSQL,应该写成
con.ExecuteSQL txtSQL"这不可以用吗?
书上也是这么写的呀?
首先谢谢你。
但按你的 2 做,系统提示说“对象不支持命名参数。”
没有这个存储过程~
用.eof .bof
有时候recordcount会出错坚决反对~~~谁说会出错~~~~我一直用也没出错~如果recordcount返回不了值,只能证明你的记录集执行后面没有参数~如果有参数一定不会出错~
系统在Public Function ConnectString()
con.ConnectString = "provider=sqloledb;server=lifengxia;uid=sa;pwd=;database=mis"-----这一行提示的。
con.open
End Function
我把这个写在模块里了。
......
......
end function这个函数我最后给简化了一下,就是返回数据集的时候才用,不返回数据集的例如INSERT,UPDATE,我就不会用这个函数dim SQL as string
SQL="Update Table Set Field=Field + 1 Where Field = 'aa'"直接用CONN.EXECUTE SQL 就可以了~说累了~~~休息以下撒~,楼住还不明白,可以把不知道的代码都贴出来,给我发CSDN短信~,记住开贴+分~~~呵呵
问你个关于存储过程的超菜问题(不许取笑我)
怎么说呢
这样说吧:我建了好多张表,但数据输入界面一次要输入的数据是几张表的结合,这时我发现了存储过程,就试用了。但我不知道如何读取、存储数据。
[email protected]
发过来了。
不好意思,麻烦大家了。
谢谢。