下面的代码: dim jyrshot2 as new ADODB.RecordSet Dim jyrsql2 As String jyrsql2 = "SELECT * FROM vin_color " jyrshot2.open jyrsql2, cn, adOpenDynamic, adLockOptimistic ,adCmdText 或者: dim jyrshot2 as new ADODB.RecordSet jyrshot2.open "vin_color", cn, adOpenDynamic, adLockOptimistic ,adCmdTable
可是运行到 dim jyrshot2 as new ADODB.RecordSet 时,报错用户定义类型未定义
工程-->引用, 里面找adomicrosoft activex data object :大概是这样拼写的
连接方式改成如下 dim cn as new rdoconnection dim rs as new rdoresultset with cn cn.连接字符串="...." cn.由表类型=clientba...的这种类型 cn.e...连接 end with set rs=cn.openresult(sql) 这样的画就不是指都的了
dim rs as new rdoresultset这句错了,应该是dim rs as rdoresultset 连接方式改成 With cn cn.Connect = "DSN=odbc数据源名称;UID=用户名;PWD=口令" cn.CursorDriver = rdUseClientBatch cn.EstablishConnection End With
另外说明,连接的定义一定要这样写 dim cn as new rdoconnection
我重新说一下我的问题吧,以上有的以解决 我在VB中调试一段程序,想向SQL SERVER中的“hgz”数据库 "vin_color"表填加数据。 其中有关程序如下: '''''''''''建立RDO链接开始 Set en = rdoEngine.rdoEnvironments(0) scnct = "dsn=hgz;uid=sa;pwd=;database=hgz" Set cn = en.OpenConnection(dsname:="hgz", Prompt:=rdDriverNoPrompt, ReadOnly:=False, Connect:=scnct) ----------------------------------------------Private Sub Command1_Click() dim jyrshot2 as new ADODB.RecordSet Dim jyrsql2 As String jyrsql2 = "SELECT * FROM vin_color " jyrshot2.open jyrsql2, cn, adOpenDynamic, adLockOptimistic ,adCmdText If Text2 > "" And Text3 > "" Then
Else MsgBox ("没有填写内容!!") End If jyrshot2.Close Form_Load End Sub运行时程序指向“jyrshot2.open ....."一行,报错为: 实时错误‘3001’:应用程序使用的参数或者类型不正确, 或者不在可以接受的范围之内,要不就是与其他数据冲突。可是我太知道以独占方式打开数据库的语句是什么,所以我 不知道错误在哪里。请各位告诉我: 1、以独占方式打开数据库的语句是什么 2、打开的数据库关闭语句是什么 3、帮我分析一下可能出现的问题谢谢
rdo技术ms不再提倡,建议使用ado技术 帮助请看msdn -----ms程序员
就是不行! 我都不好意思把帖子提前了,谢谢大家 不小心看到了就帮忙提示一下吧。 经各位帮忙后程序如下: --------------------------------- 在一开始进入输入密码窗口中: dim cn as new rdoconnection with cn cn.connect="dsn=hgz;uid=sa;pwd=" cn.cursordriver=rduseclientbatch cn.establishconnection end with ------------------------------------ 在另一个窗口中: dim jyrshot2 as new adodb.recordset dim jyrsql2 as string jyrshot2.open jyrsql2,cn,adopendynamic,adlockoptimistic, adcmdtable jyrshot2.addnew jyrshot2("color_id")=ucase(text2) jyrshot2.update我调试一下,运行到 jyrshot2.open jyrsql2,cn,adopendynamic,。 就报错:实时错误‘3001’:应用程序使用的参数或者类型不正确, 或者不在可以接受的范围之内,要不就是与其他数据冲突。我在工程-》引用中只有Microsoft ActiveX Data Objects 2.0 Library 没有2.5
tomPeakz(马中赤兔) 说到:
我的记忆里面是:
老师说过-使用AddNew方法时,打开数据库的方法是特殊的,
要加入“8”还是什么属性的,(时间太长,忘了)
就是Open数据库的时候,要有这个标志,查查ADO参考。
dim jyrshot2 as new ADODB.RecordSet
Dim jyrsql2 As String
jyrsql2 = "SELECT * FROM vin_color "
jyrshot2.open jyrsql2, cn, adOpenDynamic, adLockOptimistic ,adCmdText
或者:
dim jyrshot2 as new ADODB.RecordSet
jyrshot2.open "vin_color", cn, adOpenDynamic, adLockOptimistic ,adCmdTable
dim jyrshot2 as new ADODB.RecordSet
时,报错用户定义类型未定义
运行到
jyrshot2.rdoColumns(0) = UCase(Text2)
报错:未找到方法或数据成员
jyrshot2.rdoColumns(0) = UCase(Text2)
报错:未找到方法或数据成员即便忽略这段,又报错:
与其他的数据冲突。如何解决?我并没有在其他地方以只读方式打开数据库。
或者请告诉我一下以只读方式打开数据库的语句是什么,
我检查一下。
谢谢
dim cn as new rdoconnection
dim rs as new rdoresultset
with cn
cn.连接字符串="...."
cn.由表类型=clientba...的这种类型
cn.e...连接
end with
set rs=cn.openresult(sql)
这样的画就不是指都的了
连接方式改成
With cn
cn.Connect = "DSN=odbc数据源名称;UID=用户名;PWD=口令"
cn.CursorDriver = rdUseClientBatch
cn.EstablishConnection
End With
dim cn as new rdoconnection
我在VB中调试一段程序,想向SQL SERVER中的“hgz”数据库
"vin_color"表填加数据。
其中有关程序如下:
'''''''''''建立RDO链接开始
Set en = rdoEngine.rdoEnvironments(0)
scnct = "dsn=hgz;uid=sa;pwd=;database=hgz"
Set cn = en.OpenConnection(dsname:="hgz",
Prompt:=rdDriverNoPrompt, ReadOnly:=False,
Connect:=scnct)
----------------------------------------------Private Sub Command1_Click()
dim jyrshot2 as new ADODB.RecordSet
Dim jyrsql2 As String
jyrsql2 = "SELECT * FROM vin_color "
jyrshot2.open jyrsql2, cn, adOpenDynamic,
adLockOptimistic ,adCmdText
If Text2 > "" And Text3 > "" Then
jyrshot2.AddNew
jyrshot2.rdoColumns(0) = UCase(Text2)
jyrshot2.rdoColumns(1) = Text3
jyrshot2.Update
Text2 = ""
Text3 = ""
Else
MsgBox ("没有填写内容!!")
End If
jyrshot2.Close
Form_Load
End Sub运行时程序指向“jyrshot2.open ....."一行,报错为:
实时错误‘3001’:应用程序使用的参数或者类型不正确,
或者不在可以接受的范围之内,要不就是与其他数据冲突。可是我太知道以独占方式打开数据库的语句是什么,所以我
不知道错误在哪里。请各位告诉我:
1、以独占方式打开数据库的语句是什么
2、打开的数据库关闭语句是什么
3、帮我分析一下可能出现的问题谢谢
帮助请看msdn
-----ms程序员
我都不好意思把帖子提前了,谢谢大家
不小心看到了就帮忙提示一下吧。
经各位帮忙后程序如下:
---------------------------------
在一开始进入输入密码窗口中:
dim cn as new rdoconnection
with cn
cn.connect="dsn=hgz;uid=sa;pwd="
cn.cursordriver=rduseclientbatch
cn.establishconnection
end with
------------------------------------
在另一个窗口中:
dim jyrshot2 as new adodb.recordset
dim jyrsql2 as string
jyrshot2.open jyrsql2,cn,adopendynamic,adlockoptimistic,
adcmdtable
jyrshot2.addnew
jyrshot2("color_id")=ucase(text2)
jyrshot2.update我调试一下,运行到 jyrshot2.open jyrsql2,cn,adopendynamic,。
就报错:实时错误‘3001’:应用程序使用的参数或者类型不正确,
或者不在可以接受的范围之内,要不就是与其他数据冲突。我在工程-》引用中只有Microsoft ActiveX Data Objects
2.0 Library
没有2.5