请专家们指点

zjm_dct 2014-01-21 09:40:54
nhandle=0
nhandle=sqlstringconnect("driver=sql server;server=ZHOUPENGCHENG\HHJXCJFWQ;uid=admin;pwd=zhoujunmin;database=HHJXCJ_ZHGLXT")
if nhandle>0
messagebox("数据库连接成功!",0,"提示")
else
messagebox("数据库连接失败!",0,"提示")
RETURN
endif

上段执行是没有问题的


sqlexec(nhandle,"declare @iCJ_XH int")
sqlexec(nhandle,"declare @cCJ_CJNAME char(20)")
sqlexec(nhandle,"select @iCJ_XH=96")
sqlexec(nhandle,"select @cCJ_CJNAME='热处理车间'")

sqlexec(nhandle,"insert into Table_CJ (CJ_XH,CJ_CJNAME) values (@iCJ_XH,@cCJ_CJNAME)")

这一段执行后,添加记录失败
...全文
196 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjm_dct 2014-01-26
  • 打赏
  • 举报
回复
text to cc noshow declare @iCJ_XH int declare @cCJ_CJNAME char(20) select @iCJ_XH=96 select @cCJ_CJNAME='热处理车间' insert into Table_CJ (CJ_XH,CJ_CJNAME) values (@iCJ_XH,@cCJ_CJNAME) endtext sqlexec(nhandle, cc) 通过验证,确实能成功添加记录 但我还想学习一下: 例中的:select @iCJ_XH=96 和 select @cCJ_CJNAME='热处理车间' 是将已知数据“96”和“热处理车间”添加到表中 如果我想要将表单中text1、text2中输入的数据插入到表中,那该怎么办? 我试着用宏替换,好像没用 PUBLIC nTEXT1,cTEXT2 nTEXT1=0 cTEXT2="" nTEXT1=thisform.text1.Value cTEXT2=thisform.text2.value text to cc NOSHOW TEXTMERGE declare @iCJ_XH int declare @cCJ_CJNAME char(20) select @iCJ_XH[color=&nTEXT1 select @cCJ_CJNAME=&cTEXT2 insert into Table_CJ (CJ_XH,CJ_CJNAME) values (@iCJ_XH,@cCJ_CJNAME) endtext sqlexec(nhandle, cc)
十豆三 2014-01-26
  • 打赏
  • 举报
回复
引用 5 楼 zjm_dct 的回复:
PUBLIC nTEXT1,cTEXT2 nTEXT1=0 cTEXT2="" nTEXT1=thisform.text1.Value cTEXT2=thisform.text2.value text to cc NOSHOW TEXTMERGE declare @iCJ_XH int declare @cCJ_CJNAME char(20) select @iCJ_XH[color=&nTEXT1 select @cCJ_CJNAME=&cTEXT2 insert into Table_CJ (CJ_XH,CJ_CJNAME) values (@iCJ_XH,@cCJ_CJNAME) endtext sqlexec(nhandle, cc)
用不着这么麻烦,把这些语句改为下面一句即可: sqlexec(nhandle,"insert into Table_CJ (CJ_XH,CJ_CJNAME) values (?thisform.text1.Value,?thisform.text2.Value)")
都市夜猫 2014-01-26
  • 打赏
  • 举报
回复
text to cc NOSHOW TEXTMERGE declare @iCJ_XH int declare @cCJ_CJNAME char(20) select @iCJ_XH=<<thisform.text1.Value>> select @cCJ_CJNAME=<<thisform.text2.Value>> insert into Table_CJ (CJ_XH,CJ_CJNAME) values (@iCJ_XH,@cCJ_CJNAME) endtext
都市夜猫 2014-01-22
  • 打赏
  • 举报
回复
像这样: text to cc noshow declare @iCJ_XH int declare @cCJ_CJNAME char(20) select @iCJ_XH=96 select @cCJ_CJNAME='热处理车间' insert into Table_CJ (CJ_XH,CJ_CJNAME) values (@iCJ_XH,@cCJ_CJNAME) endtext sqlexec(nhandle, cc)
都市夜猫 2014-01-22
  • 打赏
  • 举报
回复
每个 sqlexec 是一个独立的作业,相当于在查询分析器中选中一部分来执行;执行完,变量也就释放了 应该合并成一条来执行
lzw_0736 2014-01-22
  • 打赏
  • 举报
回复
变量作用区间问题
十豆三 2014-01-22
  • 打赏
  • 举报
回复
没错,做为一个字符串送入 SQL

2,723

社区成员

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

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