blueforgetmenot 2023-09-01 16:22 采纳率: 100%
浏览 7
已结题

SQLServer 插入记录报错


begin
          RzProgressStatus1.Percent:=0;
          s1:='';
          for i2:=1 to mylist.Count do
          begin
            //rid1:=IntToStr(i2+1);
            rid1:= IntToStr(i2);
            RzProgressStatus1.Percent:=50*i2 div i1 ;
            s2:= QuotedStr(Utf8Decode(mylist[i2-1]));
            //s1:=s1+'insert into CUXIAOINFO (P_ID,G_ID,R_ID,DATE) values('+bagid+','+s2+','+rid1+') ';
            s1:=s1+'insert into CUXIAOINFO (R_ID,P_ID,G_ID) values('+rid1+','+bagid+','+s2+') ';
          end;
          con1.Open;
          con1.BeginTrans;
          cmd1.CommandText:=s1;
          cmd1.Execute();
          con1.CommitTrans;
          RzStatusPane2.Caption:= 'Êý¾Ýµ¼Èë³É¹¦£¡';
          RzProgressStatus1.Percent:=100;
          Time:=(GetTickCount-Time);
          MsgStr:=Format('ÓÃʱ %d ºÁÃë',[Time]);
          ShowMessage(MsgStr);

        end ;

用ADO连接SQLServer, 字符串bagid如果是全数字,没问题,一旦出现非数字字符串,就报告附近有语法错误,不明白是什么问题。反倒是字符串s2就没问题,难道对bagid字符串用 QuotedStr函数处理?但是这个函数只是解决汉字乱码的问题啊。字段P_ID,G_ID都是nchar类型,到底是什么问题啊?

  • 写回答

2条回答 默认 最新

  • blueforgetmenot 2023-09-02 10:56
    关注

    还是字符串处理问题,真的需要对bagid字符串用 QuotedStr函数处理!唉!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月12日
  • 已采纳回答 9月4日
  • 创建了问题 9月1日

悬赏问题

  • ¥15 所有双上限都是无限的
  • ¥15 LASSO回归分析筛选关键基因,适合多大样本量?
  • ¥88 error: [polling_error] {"code":"ETELEGRAM","message":"ETELEGRAM: 502 Bad Gateway"}错误
  • ¥15 刚毕业,刚通过一家PLC工程师,请问一下待遇还算可以吗?
  • ¥15 公司内网,想基本不写代码挂一些视频,有一个还不错的前端展示,有什么软件或者框架可以用吗?尽量简单
  • ¥15 appium自动化测试
  • ¥30 java怎么解析CanFD的16进制数据
  • ¥15 广义可加模型和光滑曲线拟合的R代码
  • ¥15 关于C#多个文本框输入的问题
  • ¥15 手机接Usb hub再连接电脑下D+D-波形