以下是我的代码:
AdoQuery1.Sql.add('insert into bb(aa) ');
Adoquery1.SQL.add('values (:aa)');
AdoQuery1.Parameters.ParamByName('aa').Value:=formnewreport.ComboBox3.text
AdoQuery1.ExecSQL;
可以保存,但是保存的字数只是两个字,如:恭喜发财.就只能保存:恭喜
数据库长度是足够的,是不是combobox控件哪个属性要设长度呢?请教,谢谢!
祝大家新春愉快,牛年吉祥!

解决方案 »

  1.   

    var 
      SQLStr : String;
    begin
     SQLStr := 'insert into bb(aa)  select '+Quotedstr(FormNewReport.Combobox3.text);
     adoquery1.close;
     AdoQuery1.sql.text := SQLStr;
     AdoQuery.execSQL;
    end;
     你这样试下,或者你调试下看下,  formNewReport.Combobox3.text 取出来是多少? 因为我没看出代码有什么问题
      

  2.   

    谢谢,另外,我想知道Dephi怎么样单步调试的?
      

  3.   

    可能是用参数传输的BUG吧,没有深究过,也很少用那种方式
      

  4.   

    var 
      SQLStr : String;
    begin  
     SQLStr :=' INSERT INTO bb(aa)  VALUES ('+Quotedstr(FormNewReport.Combobox3.text)+')';
     with adoquery1 do
     begin
       close;
       sql.clear;
       sql.add(SQLStr);
       execSQL;
     end;
    end;
      

  5.   

    不要用参数了,直接用sql语句吧 INSERT INTO bb(aa)  VALUES ('+Quotedstr(FormNewReport.Combobox3.text)+')'