首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

PB 有个SQL 语句不知道怎样处理,该怎么处理

2012-03-27 
PB 有个SQL 语句不知道怎样处理下面有个变量ls_mymonad 含有单引号,下面 ls_sqlstring 整个报错了,下面是

PB 有个SQL 语句不知道怎样处理
下面有个变量ls_mymonad 含有单引号,下面 ls_sqlstring 整个报错了,下面是在SQL SERVER上执行的,请问如何处理?

ls_sqlstring="insert into mdproduct (prod_name,prod_size,monad,last_add,box_num,std_price,buy_price,limit_num,up_num,ware_no,per_memo,prod_made,prod_label,prod_pzwh,box_midnum,bar_code,prod_pym,cli_no,prod_no, md_list_no) values ('" +ls_myprod_name+"','" +ls_myprod_size + "','" +ls_mymonad+"','" +ls_mylast_add + "','" +ls_mybox_num+"',"+string(ld_std_price) +"," +string(ld_buy_price)+"," +string(ld_limit_num) +"," +string(ld_up_num) +",'" +ls_ware_no+"','" +ls_per_memo+"','" +ls_prod_made+"','" +ls_prod_label+"','" +ls_prod_pzwh+ "','" +ls_box_midnum+"','" +ls_bar_code+"','" +ls_prod_pym+"','"+ls_mycli_no+"','" +ls_myprod_no+"','" +ls_realfilename+"')"

execute immediate :ls_sqlstring;
  IF sqlca.SQLcode <> 0 THEN 
  ROLLBACK;
  MessageBox("提示","第" + string(li_row) +"行插入数据出错1")

  ELSE
  COMMIT;
  END IF  


[解决办法]
ls_mymonad 内容有单引号是么?
那你把上面的字符串的单引号<-->双引号
调换一下再执行

最主要的是你要贴出你的sqlca.sqlerrtext
[解决办法]
update A set name='O''neal' where.
[解决办法]
处理方式太麻烦了,PB的嵌入式SQL可以直接使用变量的,不需要这样组成字符串
最好使用下面的方式,不用动态SQL方式
insert into mdproduct (prod_name,prod_size,monad,last_add,box_num,std_price,buy_price,limit_num,up_num,ware_no,per_memo,prod_made,prod_label,prod_pzwh,box_midnum,bar_code,prod_pym,cli_no,prod_no, md_list_no) values (:ls_myprod_name,:ls_myprod_size,
[解决办法]
建议 研究一下,字符转义 这块,你会很有收获的

热点排行