菜鸟问题又来了(20分)

  • 主题发起人 主题发起人 redwood
  • 开始时间 开始时间
R

redwood

Unregistered / Unconfirmed
GUEST, unregistred user!
query1.close;
query1.sql.clear;
query1.sql.Add('SELECT 学号,姓名,年龄,性别,籍贯,出生日期,政治面貌,入学日期,专业,班级 FROM "xueji_main.db" Xueji_main WHERE 学号=:m OR 姓名=:m OR 年龄=:m OR 性别=:m OR 籍贯=:m OR 政治面貌=:m OR 专业=:m OR 班级=:m');
query1.parambyname('m').asstring := edit22.text;
query1.open;

怎么不行呢?,说是type mismatch in expression
我只是想输入一个项目,就可以实现全查找而已
 
你那些比较的字段全部是字符串类型的吗
 
你的参数最好取不同的名字
单最主要的是 难道你所有的字段都是字符型的吗,连一个integer都没有?
如果有的话,给这样的参数写值因该 : query.parambyname('param').asinteger := aIntegerValue;
 
什么意思啊!只用一个参数可以吗???
 
参数设为多个,而且你的参数类型也不一致呀.
 
正确的应该为:
query1.close;
query1.sql.clear;
query1.sql.Add('SELECT 学号,姓名,年龄,性别,籍贯,出生日期,政治面貌,入学日期,专业,班级 FROM "xueji_main.db" Xueji_main WHERE 学号=:学号 OR 姓名=:xm OR 年龄=:nl OR 性别=:xb OR 籍贯=:jg OR 政治面貌=:zzmm OR 专业=:zy OR 班级=:bj');
query1.params[0].asstring := ;
query1.params[1].asstring := ;
query1.params[2].asfloat := ;
query1.params[3].asstring := ;
query1.params[4].asstring := ;
query1.params[5].asstring := ;
query1.params[6].asstring := ;
query1.open;
 
当然不行,除非附值的字段都是同一个类型的字段
 
我试试!可是如果超出255的长度怎么办?
 
字符类型的字段可以用同一个变量
数值类型的另外一个
 
[Error] Unit_main.pas(532): Incompatible types: 'TDateTime' and 'TCaption'
[Error] Unit_main.pas(533): Incompatible types: 'Integer' and 'TCaption'

query1.close;
query1.sql.clear;
query1.sql.Add('SELECT 学号,姓名,年龄,性别,籍贯,出生日期,政治面貌,入学日期,专业,班级 FROM "xueji_main.db" Xueji_main WHERE 学号=:i OR 姓名=:m OR 年龄=:i OR 性别=:m OR 籍贯=:m OR 政治面貌=:m OR 专业=:m OR 班级=:m OR 出生日期=:n OR 入学日期=:n');
query1.parambyname('m').asstring := edit22.text;
query1.ParamByName('n').AsDateTime := edit22.text;
query1.ParamByName('i').AsInteger := edit22.text;
query1.open;

这样了,还是不行……
 
query1.parambyname('m').asstring := strtoint(edit22.text);
query1.ParamByName('n').AsDateTime :=strtodatetime( edit22.text);
query1.ParamByName('i').AsInteger := strtoint(edit22.text);
query1.open;
 
query1.parambyname('m').asstring := strtoint(edit22.text);
query1.ParamByName('n').AsDateTime :=strtodatetime( edit22.text);
query1.ParamByName('i').AsInteger := strtoint(edit22.text);
query1.open;


第一行打错了吧?
 
哪里可以找到DELPHI全函数,全属性列表呀?
看来我很需要这个!
 
果然打错拉~~呵呵
 
怎么改呀?我不知道这个函数的应用
 
asstring 就不用加什么函数啊啊
query1.parambyname('m').asstring := edit22.text;
query1.ParamByName('n').AsDateTime :=strtodatetime( edit22.text);
query1.ParamByName('i').AsInteger := strtoint(edit22.text);
query1.open;

 

你有QQ吗?
我的是53618449

以后希望能够多多指教
 
后退
顶部