注册 登录
编程论坛 VFP论坛

请教SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]]) 中字符串过

wxzd123 发布于 2022-04-11 15:03, 1817 次点击
当cSQLCommand字符过长,不能保存,请老师如何解决?谢谢
10 回复
#2
laowan0012022-04-11 15:21
是在拼cSQLCommand 的时候
还是在执行SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]])的时候
说字符过长
#3
my23182022-04-11 16:23
回复 楼主 wxzd123
用变量
#4
wxzd1232022-04-11 17:35
SQLEXEC(con,"select cs11.*,cs2.控件字颜色 as 图片字颜色,cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别","cs2")
实际上还有很多字段,只要减少一个字段就没有问题?
只有本站会员才能查看附件,请 登录

请问如何使用变量,能给个例子吗?谢谢
#5
laowan0012022-04-11 17:57
xsql = "select cs11.*,cs2.控件字颜色 as 图片字颜色,cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别"
SQLEXEC(con,xsql)

如果第一句还报错,就改成下面两句
xsql = "select cs11.*,cs2.控件字颜色 as 图片字颜色,"
xsql = xsql + "cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别"
#6
wxzd1232022-04-11 19:58
以下是引用laowan001在2022-4-11 17:57:22的发言:

xsql = "select cs11.*,cs2.控件字颜色 as 图片字颜色,cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别"
SQLEXEC(con,xsql)

如果第一句还报错,就改成下面两句
xsql = "select cs11.*,cs2.控件字颜色 as 图片字颜色,"
xsql = xsql + "cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别"

谢谢,好了,那最后一个xsql加在一起不是也长吗?怎么就认识呢
#7
laowan0012022-04-11 20:12
以下是引用wxzd123在2022-4-11 19:58:19的发言:


谢谢,好了,那最后一个xsql加在一起不是也长吗?怎么就认识呢


如果 xsql = '很长的一个字符串....'    &&就会超长报错(无法识别:其实是因为后面的部分被截断了)
如果 xsql = xsql + '允许长度的字符串'    &&xsql可以通过多条这种语句加到很长很长(我加过几十M的字符串),应该是跟内存大小有关
这就是VFP
#8
wxzd1232022-04-12 06:16
谢谢版主解答
#9
mywisdom882022-04-12 08:37
用 text to
* MS SQL
text to xsql noshow
 select cs11.*,cs2.控件字颜色 as 图片字颜色,
 cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别
endtext
SQLEXEC(con,xsql,"cs2")

* VFP SQL
text to xsql noshow
 select cs11.*,cs2.控件字颜色 as 图片字颜色, ;
 cs2.控件字色2 as 答案颜色 from cs11,cs2 where cs11.类别=cs2.类别
endtext
SQLEXEC(con,xsql,"cs2")


[此贴子已经被作者于2022-4-12 08:38编辑过]

#10
wxzd1232022-04-12 11:16
谢谢mywisdom88
#11
wxzd1232022-04-12 11:20
当SQLEXEC()使用两个表时,看返回的数据没有错误,可是没有加SYS(3099,70)时,实际会有问题,表单上控件没有加上,加上就好了。
1