为什么总是提示错误???

a9681683 2006-03-31 01:47:11
以下程序运行为什么提示错误:

实时错误:‘-2147217900’
在关键字‘select'附近有语法错误。

Dim con As New ADODB.Connection
Set rs = CreateObject("adodb.recordset")

con.ConnectionString = "driver={sql server};server=192.168.1.198;uid=sa;pwd=;database=soshe"
con.Open

sq = "select * from xfc "
rs.Open sq, con, 3, 3, 2
rs.AddNew
rs.Fields("姓名") = name
rs.Update

顺便问下,哪位老兄有 VB 实时错误的对照表。


...全文
77 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
a9681683 2006-03-31
  • 打赏
  • 举报
回复
兄弟,谢谢了。

我用存储过程试试看

方不方便留个QQ
benyfeifei 2006-03-31
  • 打赏
  • 举报
回复
哦,明白了。
你试试下面的SQL语句吧

sq = "select xfd.姓名 as name1,xfd.姓名 as name2,xfd.工号 from xfd,xfc wherr xfd.姓名=xfc.姓名 "
rs.Open sq, con, 3, 3
rs("name1") = name
rs("name2")=name
rs("工号")=num '(此关键字是xfd表里面的)
rs.Update
a9681683 2006-03-31
  • 打赏
  • 举报
回复
其实我要做的就是在原有的记录上进行修改,如果使用"insert"就会插入一条新记录。

同时因为符合条件的记录不会只有一条,我只想一条条的修改,而"update"会把符合条件的所有记录全改成一样的结果。

所以。。。。。。。。


说了这多,最后还是“多谢了!”

谢谢!

benyfeifei 2006-03-31
  • 打赏
  • 举报
回复
首先你要知道的一点就是“Select”子句主要用于查询数据,如果你需要插入就使用“Insert”子句,如果需要更新数据就使用“Update”。
向你这样做两个表的同步更新,一般都是在存储过程里使用事务,然后程序调用这个存储过程,这是一种安全、有效的做法。
a9681683 2006-03-31
  • 打赏
  • 举报
回复
TO :benyfeifei(狒狒)

不好意思,开始我没看清楚。

刚才试了,你是对的(THS!)

现在有一个问题就是如果下面的select 要跨表工作该怎么写呢?如:
sq = "select * from xfc inner join xfd on xfd.姓名=xfc.姓名 "
rs.Open sq, con, 3, 3, 2
rs.("姓名") = name
rs.("工号")=num (此关键字是xfd表里面的)
rs.Update

望赐教!!!
benyfeifei 2006-03-31
  • 打赏
  • 举报
回复
实时错误:‘-2147217900’
在关键字‘select'附近有语法错误。

TO :benyfeifei(狒狒) 改成你说的样子,结果还是一样
------------------------
rs_Admin.open "Admin",conn,3,3
上面的代码是直接打开一个表,至少不会和你一样的错误啊!!!
a9681683 2006-03-31
  • 打赏
  • 举报
回复
TO:faysky2() 改成 1 后,提示:“不能更新查询,因为FROM子句不是单一的简单表名”



TO :benyfeifei(狒狒) 改成你说的样子,结果还是一样
faysky2 2006-03-31
  • 打赏
  • 举报
回复
rs.Open sq, con, 3, 3, 2
--------------
最后一个参数2表示adCmdTable,数据源是表,而实际上,你的数据源是sql语句,应该是1(adCmdText)
faysky2 2006-03-31
  • 打赏
  • 举报
回复
rs.Open sq, con, 3, 3, 2
---------------------------
rs.Open sq, con, 3, 3, 1
benyfeifei 2006-03-31
  • 打赏
  • 举报
回复
'插入数据的一般写法
rs_Admin.open "Admin",conn,3,3
rs_Admin.AddNew
rs_Admin("Admin_Name")=Admin_Name

rs_Admin.Update

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧