我测试了,在VB6里用SQL语句可以插入和修改,但用记录集就无法实现: 注:t1表里有一条记录,dbconn:是ADO的数据库连接对象。 1、记录集(这种方式就不行,提示:ORA-12899值太大(实际值28,最大值20),) dim rs as new adodb.recordset rs.open "select * from t1",dbconn,adOpenStatic, adLockOptimistic rs.movefirst rs!col1="汉字" rs.update rs.close2、命令语句(这种方式就可以) dbconn.execute "update t1 set col1='汉字'"请各位朋友给予解答,另外请问SQL语句里如何访问特殊字段名称啊?例如:字段名称为:a-b 我是这样写的:dbconn.execute "update t1 set [a-b]='汉字'" 但报错,提示字段名称不对,但这种写法在Sql Server里是可以的,Oracle里不行,请告之是什么问题呢?
rst.CursorLocation = adUseClient 加这个看看 我的代码 可以执行 Dim cn As New ADODB.Connection Dim rst As New ADODB.Recordset '连接到数据库 With cn .CursorLocation = adUseClient .CommandTimeout = 10 .ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=jxc;Persist Security Info=True;User ID=jxc;Data Source=XE" .Open End With rst.CursorLocation = adUseClient rst.Open "select * from emp", cn, adOpenStatic, adLockOptimistic rst.movefirst rst!empid = "胡仕强" rst!bm = "资讯部" rst.Update rst.Close cn.Close Set rst = Nothing Set cn = Nothing
注:t1表里有一条记录,dbconn:是ADO的数据库连接对象。
1、记录集(这种方式就不行,提示:ORA-12899值太大(实际值28,最大值20),)
dim rs as new adodb.recordset
rs.open "select * from t1",dbconn,adOpenStatic, adLockOptimistic
rs.movefirst
rs!col1="汉字"
rs.update
rs.close2、命令语句(这种方式就可以)
dbconn.execute "update t1 set col1='汉字'"请各位朋友给予解答,另外请问SQL语句里如何访问特殊字段名称啊?例如:字段名称为:a-b
我是这样写的:dbconn.execute "update t1 set [a-b]='汉字'"
但报错,提示字段名称不对,但这种写法在Sql Server里是可以的,Oracle里不行,请告之是什么问题呢?
加这个看看
我的代码
可以执行
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset '连接到数据库
With cn
.CursorLocation = adUseClient
.CommandTimeout = 10
.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=jxc;Persist Security Info=True;User ID=jxc;Data Source=XE"
.Open
End With rst.CursorLocation = adUseClient
rst.Open "select * from emp", cn, adOpenStatic, adLockOptimistic
rst.movefirst
rst!empid = "胡仕强"
rst!bm = "资讯部"
rst.Update
rst.Close
cn.Close
Set rst = Nothing
Set cn = Nothing
Randomize ' 对随机数生成器做初始化的动作。
rst.CursorLocation = adUseClient
rst.Open "select * from emp", cn, adOpenStatic, adLockOptimistic
'rst.movefirst
rst.AddNew
rst!empid = "胡仕强" & Int((10 * Rnd) + 1)
rst!bm = "资讯部"
资料库已经删除了
我是这样写的:dbconn.execute "update t1 set [a-b]='汉字'"
但报错,提示字段名称不对,但这种写法在Sql Server里是可以的,Oracle里不行,请告之是什么问题呢?