为什么我的SQL语句出现下面情况:
对同样的表进行操作(车次为主码,发站,到站设有书索引)下面的代码执行之后什么结果都没有:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(' select *');
query1.SQL.Add(' from 起始时刻表');
query1.SQL.Add(' where 发站= :start ');
query1.SQL.Add(' and 到站= :achieve ');
query1.ParamByName('start').AsString:= result_form.Edit1.Text;
query1.ParamByName('achieve').AsString:= Edit2.Text;
query1.Open;而下面的代码执行之后一切正常:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(' select *');
query1.SQL.Add(' from 起始时刻表');
query1.SQL.Add(' where 车次=:No ');
query1.ParamByName('No').AsString:= result_form.Edit1.Text;
query1.Open;
对同样的表进行操作(车次为主码,发站,到站设有书索引)下面的代码执行之后什么结果都没有:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(' select *');
query1.SQL.Add(' from 起始时刻表');
query1.SQL.Add(' where 发站= :start ');
query1.SQL.Add(' and 到站= :achieve ');
query1.ParamByName('start').AsString:= result_form.Edit1.Text;
query1.ParamByName('achieve').AsString:= Edit2.Text;
query1.Open;而下面的代码执行之后一切正常:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(' select *');
query1.SQL.Add(' from 起始时刻表');
query1.SQL.Add(' where 车次=:No ');
query1.ParamByName('No').AsString:= result_form.Edit1.Text;
query1.Open;
sql语句不同,条件不一样--没有满足条件的数据
应该不是这个EDIT啊.
query1.ParamByName('start').AsString:= TRIM(result_form.Edit1.Text);
query1.ParamByName('achieve').AsString:= TRIM(Edit2.Text);
应该是这句有问题!~~~对了,你那俩个字段是什么类型?
建议用
query1.ParamByName('start').value :=result_form.Edit1.Text;
query1.ParamByName('achieve').AsString:= Edit2.Text;这句为
query1.ParamByName('achieve').AsString:= result_form.Edit2.Text;用了query1.ParamByName('start').value :=result_form.Edit1.Text;
还不行
直接用SQL语句看看' select * from 起始时刻 where 车次=''' + result_form.Edit1.Text + ''' and 到站=''' + result_form.Edit2.Text + '''';
我发现我用了ODBC的Driver do Microsoft Access(*.mdb)
当我改为Microsoft Access(*.mdb)好想就好了是不是一定要用Microsoft Access(*.mdb)啊