可以呀!比如: Query1.Close; Query1.SQL.Text := 'SELECT * FROM Table1'; Query1.Open;//执行用 Query1.Close; Query1.SQL.Text := 'DELETE FROM Table1'; Query1.ExecSQL;
query.sql.add('select 变量1=Max(col_1) from table1') query.paratmers[0].value is your need
可以呀!比如: Query1.Close; Query1.SQL.Text := 'SELECT * FROM Table1'; Query1.Open;//执行用 Query1.Close; Query1.SQL.Text := 'DELETE FROM Table1'; Query1.ExecSQL;
得用query控件! with query1 do close; sql.clear; sql.add(sql语句); open; end;
可以 Query.Text:='select * fom tabel1' Query.Open
当然可以了,用Query或ADOQuery就可以 举个例子 with query1 do begin Close; SQL.Clear; SQL.Add('Select youvalue = Max(youfield) '); SQL.Add(' From table1 '); SQL.Add(' Where 条件 '); Prepare; ExecSQL; 变量 := FieldByName('youvalue').Value; end;
将SQL语句写到QUERY控件的sql 属性中
使用Tquery或Tadoquery控件: Query1.close; query1.sql.clear; query1.sql.add('select 变量1=Max(col_1) from table1 '); prepared; open;
query.sql.add('select 变量1=Max(col_1) from table1') 象上面这样写好象提示变量1的地方有错啊
var s:string; query.sql.add('select max(col_l) from table') query.prepare; query.open; s:=query.fields(0).asstring 就可以了
delphi不支持嵌入式SQL,(PB特有的),用楼上各位所说的好了!
把SQL语句单独写出来。例如下: var strSQL : string; begin with adoqry1 do begin Close; SQL.Clear; strSQL := 'SELECT 变量1=MAX(col_1) FROM Table1'; SQL.Add(strSQL); Open; end; end;这样做的好处是可以直接监视strSQL.(用Ctrl + F7).
我使用了两个控件:ADOConnection1,设置好了ConnectionString,DefaultDataBase.ADOQuery里设置好connection。其它代码如下: var strInputID,strInputPassWord,strGetPass: string; begin strInputID := EditID.Text; strInputPassWord := EditPassWord.Text; With ADOQuery1 do begin close; sql.clear; sql.add('SELECT password '); sql.add('FROM users '); sql.add('WHERE id = ''' + strInputID + ''''); Prepared; ExecSql; end; strGetPass := ADOQuery1.FieldValues['password'].valuse; if strGetPass = strInputPassword then ShowMessage('PassWord is right.') else ShowMessage('PassWord is wrong.'); 怎么运行的时候,提示field 'Password'没有找到?如果对ADOQuery1.Tstring赋初值,然后ADOQuery1.active设置为真,一运行就出现 access violation at address ~~~ in modules 'msado15.dll',write of address ~~~. 到底是怎么回事?折磨我一天了。
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM Table1';
Query1.Open;//执行用
Query1.Close;
Query1.SQL.Text := 'DELETE FROM Table1';
Query1.ExecSQL;
from table1')
query.paratmers[0].value is your need
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM Table1';
Query1.Open;//执行用
Query1.Close;
Query1.SQL.Text := 'DELETE FROM Table1';
Query1.ExecSQL;
with query1 do
close;
sql.clear;
sql.add(sql语句);
open;
end;
Query.Open
举个例子
with query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select youvalue = Max(youfield) ');
SQL.Add(' From table1 ');
SQL.Add(' Where 条件 ');
Prepare;
ExecSQL;
变量 := FieldByName('youvalue').Value;
end;
Query1.close;
query1.sql.clear;
query1.sql.add('select 变量1=Max(col_1)
from table1 ');
prepared;
open;
from table1')
象上面这样写好象提示变量1的地方有错啊
s:string;
query.sql.add('select max(col_l) from table')
query.prepare;
query.open;
s:=query.fields(0).asstring
就可以了
var
strSQL : string;
begin
with adoqry1 do
begin
Close;
SQL.Clear;
strSQL := 'SELECT 变量1=MAX(col_1) FROM Table1';
SQL.Add(strSQL);
Open;
end;
end;这样做的好处是可以直接监视strSQL.(用Ctrl + F7).
var
strInputID,strInputPassWord,strGetPass: string;
begin
strInputID := EditID.Text;
strInputPassWord := EditPassWord.Text;
With ADOQuery1 do
begin
close;
sql.clear;
sql.add('SELECT password ');
sql.add('FROM users ');
sql.add('WHERE id = ''' + strInputID + '''');
Prepared;
ExecSql;
end;
strGetPass := ADOQuery1.FieldValues['password'].valuse;
if strGetPass = strInputPassword then
ShowMessage('PassWord is right.')
else
ShowMessage('PassWord is wrong.');
怎么运行的时候,提示field 'Password'没有找到?如果对ADOQuery1.Tstring赋初值,然后ADOQuery1.active设置为真,一运行就出现
access violation at address ~~~ in modules 'msado15.dll',write of address ~~~.
到底是怎么回事?折磨我一天了。