插入数据语句中的连接字符

华夏小卒 2009-04-27 09:14:29
local cIn,w_sum1,w_dj1,w_money1,w_hj && 拼接插入字符

w_sum1=10 &&这4个是数值型
w_dj1=20
w_money1=200
w_hj=200

cIn=''
cIn = cIn + "insert into TOP_B (name,dm,ddate,mc1,sum1,dj1,money1,bz1,hj) values ("
cIn = cIn + "'"+trim(thisform.t_name.value)+"','"+trim(thisform.t_dm.value)+"','"+dtoc(thisform.t_date.value)+"',"
cIn = cIn + "'"+trim(thisform.t_mc1.value)+"',"+val(w_sum1)+","+val(w_dj1)","+val(w_money1)+",'"+trim(thisform.t_bz1.value)+"',"
cIn = cIn + val(thisform.t_hj.value)+")"

*********************************************************************
QQ=SQLEXEC(nHandle,cIn) && 执行插入


老提示红色的语句语法错误,不知道前面几个字段是字符型,后面4个是数值型,怎么连接就可以了,

反正不能一起放在SQLEXEC(nHandle,"insert into ...")里,因为这样会超过254个字符,VFP不支持

高手帮瞧瞧
...全文
59 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2009-04-27
  • 打赏
  • 举报
回复
也可以str->transform
华夏小卒 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 apple_8180 的回复:]
Messagebox 显示后是让你看看字符串是否对,Messagebox 不是解决能运行。
[/Quote]

这个我知道。

我改了一句好了:cIn = cIn + "'"+trim(thisform.t_mc1.value)+"',"+val(w_sum1)+","+val(w_dj1)","+val(w_money1)+",'"+trim(thisform.t_bz1.value)+"',"
cIn = cIn + val(thisform.t_hj.value)+")"

改成:cIn = cIn + "'"+trim(thisform.t_mc1.value)+"',"+str(w_sum1)+","+str(w_dj1)","+str(w_money1)+",'"+trim(thisform.t_bz1.value)+"',"
cIn = cIn + str(thisform.t_hj.value)+")"
wwwwb 2009-04-27
  • 打赏
  • 举报
回复
检查变量类型,转换成字符型
十豆三 2009-04-27
  • 打赏
  • 举报
回复
Messagebox 显示后是让你看看字符串是否对,Messagebox 不是解决能运行。
华夏小卒 2009-04-27
  • 打赏
  • 举报
回复
5楼的,我在连接cIn下,用了个Messagebox,还没执行到,就报错了。说明在连接的时候就有问题,应该是字符型和整形不能连接

有些数据在会计上是有小数位的,我现在想直接都用字符型,来存储,
这样也不会出现什么数据类型不对的问题,不知道行不行?
十豆三 2009-04-27
  • 打赏
  • 举报
回复
cIn='' 后每行后加一个Messagebox() 看一下 cIn内容,这种问题没有难度,只需要细心,一点一点找,不行就一项一Messagebox()
ACMAIN_CHM 2009-04-27
  • 打赏
  • 举报
回复

在执行前看一下 cIn 的内容是什么。贴出来看看。估计你的数据不匹配(数量上,类型上)
wwwwb 2009-04-27
  • 打赏
  • 举报
回复
TEXT TO qq1 NOSHOW
SQL语句
endtext
华夏小卒 2009-04-27
  • 打赏
  • 举报
回复
1楼的“+”的确是少了,但是加上后,在运行时,提示“函数参数的值,类型或数目无效”

2楼的text...endtext 能否举个例子
wwwwb 2009-04-27
  • 打赏
  • 举报
回复

TEXT TO 变量名
ENDTEXT
试试
ACMAIN_CHM 2009-04-27
  • 打赏
  • 举报
回复

cIn = cIn + "'"+trim(thisform.t_mc1.value)+"',"+val(w_sum1)+","+val(w_dj1)","+val(w_money1)+",'"+trim(thisform.t_bz1.value)+"',"
cIn = cIn + "'"+trim(thisform.t_mc1.value)+"',"+val(w_sum1)+","+val(w_dj1)+","+val(w_money1)+",'"+trim(thisform.t_bz1.value)+"',"

是不是少了个+号。

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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