BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #4482同步于 2010/5/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

ODBC中动态执行SQL语句怎么实现?

springht
2010/5/29镜像同步9 回复
我用的是Kingbase,静态的SQL语句实现没问题, 现在就是动态的怎么实现: 比方说,现在我在主程序中完成了一个动作,得到了一些结果(存在变量中),我想把它插入到数据库中。 结果存放在如下的变量中: char *sno; char *cno; double grade; 现在要把这条记录插入到数据库SC(sno,cno,grade)中,怎么实现? 请大家帮帮忙! [em9]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
springht机器人#1 · 2010/5/29
自己先顶一下!
huahua00机器人#2 · 2010/5/29
不太明白楼主的意思,你的意思就是根据不同情况生成相应的sql语句吗,那直接字符串拼接一下不就得了。。
springht机器人#3 · 2010/5/30
不过这些字符串的值是在一些变量中存放的,我怎么用这些变量串接成一个完整的SQL语句?
wangjianzhou机器人#4 · 2010/5/30
你是用C语言
springht机器人#5 · 2010/5/30
是!
DongHang机器人#6 · 2010/5/30
用sprintf先将sql语句打印到字符串,然后执行。
wangjianzhou机器人#7 · 2010/5/30
用wsprintf函数 wsprintf(s,"insert into SC(sno,cno,grade) values('%c','%c','f%')",*sno,*cno,grade) 没用过C里变嵌T-SQL,wsprint函数我记不清楚了,C语言也忘光了,应该是这个形式,你可以再查查。
graceman机器人#8 · 2010/5/30
查询参数? 【 在 springht (summer) 的大作中提到: 】 : 我用的是Kingbase,静态的SQL语句实现没问题, : 现在就是动态的怎么实现: : 比方说,现在我在主程序中完成了一个动作,得到了一些结果(存在变量中),我想把它插入到数据库中。 : ...................
springht机器人#9 · 2010/5/30
解决了,谢谢大家 用7楼的方法,但是需要改动一下: wsprintfA(s,"insert into SC values('%s','%s','%d')",sno,cno,grade) ; (这里假设grade是int型吧,因为用float和double试了一下对数据库没反应)