我用sql server 2000+delphi6写的程序,但执行下面的语句:
AdoExamineTable.SQL.Add('insert into TexamineTable(FNo,FcompanyName,Fsort,Fworkarea,Fname,Fsex,Fage,Fnation,Fedu,fdate,Feconomykind,FWorkType,FworkLength,Faddress)');
AdoExamineTable.SQL.Add(' values(:FNo,:FcompanyName,:Fsort,:Fworkarea,:Fname,:Fsex,:Fage,:Fnation,:Fedu,:fdate,:Feconomykind,:FWorkType,:FworkLength,:Faddress)');
end;
AdoExamineTable.ParamByName('FNo').Value:=SpinEdit3.Text;
AdoExamineTable.Parameters.ParamByName('FcompanyName').Value:=Trim(RzEdit1.Text);
AdoExamineTable.Parameters.ParamByName('Fsort').Value:=RzComboBox7.Text;
AdoExamineTable.Parameters.ParamByName('Fworkarea').Value:=RzComboBox2.Text;
AdoExamineTable.Parameters.ParamByName('Fname').Value:=RzEdit3.Text;
AdoExamineTable.Parameters.ParamByName('Fsex').Value:=Trim(RzComboBox1.Text);
AdoExamineTable.Parameters.ParamByName('Fage').Value:=RzSpinEdit1.Value;
AdoExamineTable.Parameters.ParamByName('Fnation').Value:=RzComboBox3.Text;
AdoExamineTable.Parameters.ParamByName('Fedu').Value:= RzComboBox4.Text;
AdoExamineTable.Parameters.ParamByName('fdate').Value:=datetimepicker1.DateTime;
AdoExamineTable.Parameters.ParamByName('Feconomykind').Value:=RzComboBox5.Text;
AdoExamineTable.Parameters.ParamByName('FWorkType').Value:=RzComboBox6.Text;
AdoExamineTable.Parameters.ParamByName('FworkLength').Value:=RzSpinEdit2.Text;
AdoExamineTable.Parameters.ParamByName('Faddress').Value:=rzEdit2.Text;
AdoExamineTable.ExecSQL;
但这样插入的记录nvarchar类型的字段值后全部带有空格,为什么啊,快帮我解决啊。

解决方案 »

  1.   

    把字段类型改为Varchar2试试看.
      

  2.   

    我试了,即使加Trim 也有空格。
      

  3.   

    Varchar2有这样的类型吗?我以前的代码用varchar也会有空格。
      

  4.   

    你为什么不直接用INSERT 呢???我一般在QUERY里直接使用SQL!!!!!
      

  5.   

    sql语句为什么大家都用参数呢?我怎么从来没用过,我觉得用参数好麻烦!
      

  6.   

    同意Wnyu(西门吹水),改为Varchar,还要把把原来数据库表中的记录清空.重新写数据看看.
      

  7.   

    把它改成Varchar肯定就不会有了,它是变长字符串,在你规定的长度范围内显示你字符串的实际长度