语句如下:
      close;
      sql.Clear;
      sql.add ('Insert into [image](StudyInstanceUID,  Modality, SeriesInstanceUID, SeriesNumber,  ImageTime,  SamplesPerPixel,SOPInstanceUID,');
      sql.add('PhotometricInterpretation, Rows, Columns, BitsAllocated, BitsStored, HighBit, PixelRepresentation, PlanarConfiguration, SOPClassUID, TransferSyntax)');
      sql.Add('values(:StudyInstanceUID,  :Modality, :SeriesInstanceUID, :SeriesNumber, :ImageTime,  :SamplesPerPixel,:SOPInstanceUID ,');
      sql.add(':PhotometricInterpretation, :Rows, :Columns, :BitsAllocated, :BitsStored, :HighBit, :PixelRepresentation, :PlanarConfiguration, :SOPClassUID, :TransferSyntax)');
      Parameters.ParamByName('StudyInstanceUID').Value:=info.StudyInstanceUID;
      Parameters.ParamByName('Modality').Value:=info.Modality;
      Parameters.ParamByName('SeriesInstanceUID').Value:=info.SeriesInstanceUID;
      Parameters.ParamByName('SeriesNumber').Value:=info.SeriesNumber;
      Parameters.ParamByName('ImageTime').Value:=info.ImageTime;
      Parameters.ParamByName('SamplesPerPixel').Value:=info.SamplesPerPixel;
      Parameters.ParamByName('SOPInstanceUID').Value:=info.SOPInstanceUID;
      Parameters.ParamByName('PhotometricInterpretation').Value:=info.PhotometricInterpretation;
      Parameters.ParamByName('Rows').Value:=info.Rows;
      Parameters.ParamByName('Columns').Value:=info.Columns;
      Parameters.ParamByName('BitsAllocated').Value:=info.BitsAllocated;
      Parameters.ParamByName('BitsStored').Value:=info.BitsStored;
      Parameters.ParamByName('HighBit').Value:=info.HighBit;
      Parameters.ParamByName('PixelRepresentation').Value:=info.PixelRepresentation;
      Parameters.ParamByName('PlanarConfiguration').Value:=info.PlanarConfiguration;
      Parameters.ParamByName('SOPClassUID').Value:=info.SOPClassUID;
      Parameters.ParamByName('TransferSyntax').Value:=Info.TransferSyntax;
      ExecSQL;
我其它的插入语句也是这么写的,可为什么老是这些出错呢?

解决方案 »

  1.   

    在ExecSQL设断点,运行到这里后,将sql语句取出来看看(或单独到数据库执行),就知道错在哪儿了
      

  2.   

    sql.Add('values
    这里少了空格   sql.Add('  values
      

  3.   

    同意楼上的..一般用字符串写SQL经常发现都是这个原因..SHOWMESSAGE看一下应该可以看的到的..
      

  4.   

    设断点,在语句字符串的位置,点右键,debug->Evaluate/Modify取出语句,直接到查询分析器里面运行看看.就知道sql那里错了.用showmessage能取出能运行的语句吗? 太不方便了.
      

  5.   

    SQL語句都寫錯了...自己檢查看吧
      

  6.   

    进入断点,或在 ExecSQL;之前
    sql.savetofile("c:\1.txt");
    然后把这条语句复制出来单独执行不就知道原因了