软件配置:delphi+sqlserver+windows2000 server我在delphi里面生成了一条语句,我执行程序,但是没有达到预期的结果(保存学生成绩),但是我把这条sql语句直接放到sqlserver的查询分析器里面执行,可以保存学生成绩,请高手指点啊!
生产的sql语句如下:
exec savecj '21951,20,329578;21952,,329579;21953,,329580;21954,,329581;21955,,329582;21956,,329583;21957,,329584;21958,,329585;21959,,329586;21960,,329587;21961,,329588;21962,,329589;21963,,329590;21964,,329591;21965,,329592;21966,,329593;21967,,329594;21968,,329595;21969,,329596;21970,,329597;21971,,329598;7739,,329518;21972,,329599;21973,,329600;21974,,329601;21975,,329602;21976,,329603;21977,,329604;21978,,329605;21979,,329606;21980,,329607;21981,,329608;21982,,329609;21983,,329610;21984,,329520;21985,,329521;21986,,329522;21987,,329523;21988,,329524;21989,,329525;21990,,329526;21991,,329527;21992,,329528;21993,,329529;21994,,329530;21995,,329531;21996,,329532;21997,,329533;21998,,329534;21999,,329535;22000,,329536;22001,,329537;22002,,329538;22003,,329539;22004,,329540;22005,,329541;22006,,329542;22007,,329543;22008,,329544;22009,,329545;22010,,329546;22011,,329547;22012,,329548;22013,,329549;22014,,329550;22015,,329551;22016,,329552;22017,,329553;22018,,329554;22019,,329555;22020,,329556;22021,,329557;22022,,329558;22023,,329559;22024,,329560;22026,,329561;22027,,329562;22028,,329563;22029,,329564;22030,,329565;22031,,329566;22032,,329567;22033,,329568;22503,,329573;22635,,329574;22636,,329575;22034,,329569;22039,,329571;22037,,329570;19454,,329519;20977,,329576;20991,,329577;22040,60,329572','考试',1

解决方案 »

  1.   

    字符串太长了,可能在某些处理的环节delphi把它截断了,比如TiniFile的Readstring就会截断超过2047的字符串再仔细检查一遍,不行把代码贴出来看看
      

  2.   

    对,字段过长,分开写sql.add(''),sql.add(''),注意各个add之间加上空格
      

  3.   

    用变量代替字符串sql.add('dfsdfsdfsdf')
    替换为
    var
     str:stringstr:='sfsdfsdfsdf';
    sql.add(str)