用ADOQUERY组件进行插入操作,但数据插入后发现长度不是所期望的 程序具体是这样写的
adoquery2.Close;
adoquery2.SQL.clear;
adoquery2.sql.Add('insert data(number,state,depart,starttime,riqi,nianji) ');
adoquery2.sql.Add('values(:a,:b,:c,:d,:e,:f)');
adoquery2.Parameters.parambyname('a').Value:=KO;
adoquery2.Parameters.parambyname('b').Value:='上机';
adoquery2.Parameters.parambyname('c').Value:='应用设计系';
adoquery2.Parameters.parambyname('d').Value:=TimeToStr(NOW);
adoquery2.Parameters.parambyname('e').Value:=DateTimeToStr(date());
adoquery2.Parameters.parambyname('f').Value:='04';
adoquery2.execSQL;如果我改成
adoquery2.Parameters.ParamByName('c').AsString:='应用设计系';
则提示没有AsString属性。如果直接用value属性,则插入的数值不是两位或10位,而是50位左右;如何解决问题?各位请帮忙
adoquery2.Close;
adoquery2.SQL.clear;
adoquery2.sql.Add('insert data(number,state,depart,starttime,riqi,nianji) ');
adoquery2.sql.Add('values(:a,:b,:c,:d,:e,:f)');
adoquery2.Parameters.parambyname('a').Value:=KO;
adoquery2.Parameters.parambyname('b').Value:='上机';
adoquery2.Parameters.parambyname('c').Value:='应用设计系';
adoquery2.Parameters.parambyname('d').Value:=TimeToStr(NOW);
adoquery2.Parameters.parambyname('e').Value:=DateTimeToStr(date());
adoquery2.Parameters.parambyname('f').Value:='04';
adoquery2.execSQL;如果我改成
adoquery2.Parameters.ParamByName('c').AsString:='应用设计系';
则提示没有AsString属性。如果直接用value属性,则插入的数值不是两位或10位,而是50位左右;如何解决问题?各位请帮忙
adoquery2.SQL.clear; //错误一
adoquery2.sql.Add('insert INTO data(number,state,depart,starttime,riqi,nianji) ');
adoquery2.sql.Add('values(:a,:b,:c,:d,:e,:f)');
adoquery2.Parameters.parambyname('a').Value:=KO;
adoquery2.Parameters.parambyname('b').Value:='上机';
adoquery2.Parameters.parambyname('c').Value:='应用设计系';
adoquery2.Parameters.parambyname('d').Value:=TimeToStr(NOW);
adoquery2.Parameters.parambyname('e').Value:=DateTimeToStr(date());
adoquery2.Parameters.parambyname('f').Value:='04';
adoquery2.execSQL;如果我改成
adoquery2.Parameters.ParamByName('c').Value:='应用设计系';//只能用 Value如果直接用value属性,则插入的数值不是两位或10位,而是50位左右;
与多少没有关系,只要库字段够长就行了
则如果char(50),则,你插入长度小于50时,
最后数据长度仍然是50,
不足的,
被数据库服务器填充了空格。