CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  Pb脚本语言

插入数据只执行一次?

楼主fgsdggdgds(ertertetet)2006-03-06 16:35:01 在 PowerBuilder / Pb脚本语言 提问

我的插入语句    
  for   i=1   to   1000  
    insert   table1(ziduan1,ziduan2)   value(:a1,:a2)   using   sqlca;  
  next  
  每次只执行一条记录?该如何解决。  
  问题点数:40、回复次数:8Top

1 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2006-03-06 16:45:29 得分 0

每次插入都判断一下sqlca.sqlcode,看看是否成功,估计是主键重复导致插入失败Top

2 楼leio((郁闷中...))回复于 2006-03-06 16:45:56 得分 0

debug检查循环中的insert语句执行后的SQLCODE值是否为0。  
   
  Top

3 楼lzheng2001(1加1)回复于 2006-03-06 17:23:05 得分 5

可能表有主键,而你每次都插入相同的值,所以会引起错误  
   
  for   i=1   to   1000  
    insert   table1(ziduan1,ziduan2)   value(:a1,:a2)   using   sqlca;  
    if   sqlca.sqlcode   <>   0   then   messagebox("","错误")   //用这句判断  
  next    
   
  Top

4 楼sdhylj(青锋-SS)(献血有益健康(别人的))回复于 2006-03-06 17:40:55 得分 5

肯定有主键约束导致无法插入相同的记录.Top

5 楼xydy2002()回复于 2006-03-07 13:39:06 得分 5

先判断一下了Top

6 楼small_cloud(云起云落)回复于 2006-03-07 13:41:32 得分 0

同意各楼,做SQLCODE的判别Top

7 楼samismile(米兰10年)回复于 2006-03-07 18:04:03 得分 5

我的插入语句    
  for   i=1   to   1000  
    insert   table1(ziduan1,ziduan2)   value(:a1,:a2)   using   sqlca;  
  next  
  为什么这样写?  
  using   sqlca;  
  for   i=1   to   1000  
    insert   table1(ziduan1,ziduan2)   value(:a1,:a2)    
  next  
  Top

8 楼airfont(草原劣马)回复于 2006-03-08 10:58:05 得分 20

for   i=1   to   1000  
    insert   table1(ziduan1,ziduan2)   value(:a1,:a2)   using   sqlca;  
    if   sqlca.sqlcode   <>   0   then  
            messagebox("系统提示:","数据有误!")  
            rollback   using   sqlca;  
      else  
            commit;  
    end   if  
  next  
  这样写跟踪,应该可以找到问题的,不过我建议你按下面的方法去做可能更好一些:  
  string   ls_insql  
  for   i=1   to   1000  
    ls_insql   =   "insert   table1(ziduan1,ziduan2)   value(   '"   +   a1   +   "','"   +   a2   +   "')"  
    if   sqlca.sqlcode   <>   0   then  
            messagebox("系统提示:","数据有误!,SQL语句为:"   +   ls_insql)  
            rollback   using   sqlca;  
      else  
            commit;  
    end   if  
  next  
  a1,a1如果为数字型的则去掉单'加上string(a1)Top

相关问题

  • ExecuteNonQuery执行数据插入,为什么有时插入不了?
  • 一个插入数据的sql语句执行不了
  • ASP.NET中,执行数据库插入操作问题
  • 插入数据
  • 插入数据
  • 如何忽略插入数据错误,继续执行下一条语句。
  • 用adoquery执行Insert,怎么知道插入了多少条数据?
  • sqlplus 执行sql脚本插入数据时中文乱码,怎么解决?
  • 用VC连ACCESS数据库执行一条插入语句怎么做? 谢谢
  • 如何用servlet在sql server数据库的插入后执行相应动作?

关键词

  • 执行
  • 数据
  • ziduan
  • 插入
  • sqlcode
  • 主键
  • using sqlca
  • insert table
  • ls
  • then messagebox

得分解答快速导航

  • 帖主:fgsdggdgds
  • lzheng2001
  • sdhylj
  • xydy2002
  • samismile
  • airfont

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo