注册 登录
编程论坛 SQL Server论坛

[求助]有关动态sql语句写法,紧急求助

jsxwr 发布于 2007-10-23 11:50, 1456 次点击

主要的问题出在这里,组合成的sql语句,不符合相关语法要求:

execute immediate :s_sql_sql;

s_sql_sql 是字符串变量,其值为

insert into 教职工信息修改 ( 序号,姓名,性别 ) values ( :i_xh,:s_xm,:s_xb )
或者
update 教职工信息修改 set 序号=:i_xh,姓名=:s_xm,性别=:s_xb where 序号= :i_xh

//其中字段表和变量表都是由其它字符串变量提供的,具体项目和值不固定,取决于实际被修改情况。

可能是组成sql语句时,其中的变量没有传递过来,导致执行时参数不足,出现错误

————————————————————————
以上是问题节选,由于本人新注册,原先只能在『 新人互助交流区 』发贴,所以原贴放在那儿了,详情请点击浏览
https://bbs.bc-cn.net/viewthread.php?tid=179830

————————————————————————
[fly]期待高手援助,先谢了[/fly]

13 回复
#2
bygg2007-10-23 12:51

语句上没有错的...

#3
Kendy1234562007-10-23 14:58
我在新人区和你说过了呀
你报的错是连接数据库失败 参数不足
你把你的数据库连接字符串贴出来
#4
purana2007-10-23 15:04
他是蛮强的.
能操作sql的版.他都发了.
#5
Kendy1234562007-10-23 15:05
他还给我发了电子邮件呢
#6
jsxwr2007-10-23 16:57
各位老大支招呀,对了,连接字符串是指下面这部分吗?
————————————
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=xsedu;UID=;PWD='"
connect;
if sqlca.sqlcode<>0 then
Messagebox("错误!,无法连接数据库:",sqlca.sqlerrtext)
halt close
end if

————————————
如果是指 execute immediate 语句后面的参数,我已经写在上面了呀,可以说清楚些吗?我是新手
#7
jsxwr2007-10-23 17:19
可以向你提供具体什么就可以了呢?能明确一点吗?

我的QQ:121805207

你也可以留个电话给我,我很想请教一下,先谢了
#8
purana2007-10-23 17:24
你这是什么语言与SQL交互..你就发到什么版啊.

感觉楼上有点像网络聊天机器人.
什么版都发..
而且..没人回复.他也会主动回复一下.
#9
Kendy1234562007-10-23 17:27
看起来连接字符串也没有问题 为什么报odbc错呢?
#10
jsxwr2007-10-23 17:49

不是聊天机器人,我真人呀老大,不过心里着急,才多发几个,请原谅!

是pb的代码!

#11
purana2007-10-23 17:54
是pb的.
那你就发到pb啊.
vb又发.什么都发..
#12
jsxwr2007-10-23 18:09
主要是sql语句问题,和语言关联不大,才广求意见的!谢谢提醒,打扰了,如果你能就我问题本身提点看法,我会更感谢你的!
#13
gonghuilie2007-11-01 19:41
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=xsedu;UID=;PWD='"
connect;
if sqlca.sqlcode<>0 then
Messagebox("错误!,无法连接数据库:",sqlca.sqlerrtext)
halt close
end if

这个改下看看
SQLCA.DBParm = "ConnectString='DSN=xsedu;UID=dba;PWD=sql'"

#14
jsxwr2007-11-03 16:19
谢谢提醒,和连接信息无关,我用的是ACCESS数据库,没有设密码,所以这个不需要指定。

以上问题,我已经通过两个数据窗口之间比较的方法解决了,再次谢谢大家的支持。
1