简单的例子假如有一个 edit1框
和一个dbgrid1,datasource,table1,botton,query1
dbgrid 和datasource和table,已经相互好,连接好表
表名叫airplane,字段有no,classcification,type
想点击botton,从表中选出type的值为edit输入的值的记录,代码该这样写吗?procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from airplane where 机型='+edit1.Text); query1.Prepare;
table1.Active:=false;
dbgrid1.DataSource:=datasource1;
query1.Open;
table1.Active:=true;
end;
和一个dbgrid1,datasource,table1,botton,query1
dbgrid 和datasource和table,已经相互好,连接好表
表名叫airplane,字段有no,classcification,type
想点击botton,从表中选出type的值为edit输入的值的记录,代码该这样写吗?procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from airplane where 机型='+edit1.Text); query1.Prepare;
table1.Active:=false;
dbgrid1.DataSource:=datasource1;
query1.Open;
table1.Active:=true;
end;
or
sql.text:='select * from airplane where 机型='''+edit1.Text)+''''
dbgrid1和datasource连接,datasource和query1连接,按钮的单极事件如下:
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from airplane where type=:Atype');
query1.ParamByName('Atype').AsString:=Trim(edit1.Text);
query1.Open;
其中Atype为设置的参数,可以任意起名字
回复人: dickeybird888
在delphi 的 help里面 看不懂parabyname的解释,可不可以具体具体解释
query1.SQL.Add('select * from airplane where type=:Atype');
query1.ParamByName('Atype').AsString:=Trim(edit1.Text);
这两句?
如果不加就变成 select * from table where name=dd
至于这一句
query1.SQL.Add('select * from airplane where type=:Atype');
query1.ParamByName('Atype').AsString:=Trim(edit1.Text);好像应该改成
Query.parameters.paramvalues['atype'].asstring:= Trim(edit1.Text);
就是将edit1里面的字符取出来,去掉前后的空格,然后付值给Atype,如果edit1里面输入dd,那么sql语句就是select * from airplane where type=dd
都是那些第一张简介,特点,
第二章,讲常用组件
3 数据库组件
总之很粗糙,我也想找一本专门讲delphi数据库和sql编程的书啊