我用了个ADOQUERY和一个DATASOURCE
DATASOURCE1的DATASET设置为ADOQUERY1
ADOQUERY1的 CONNECTIONSTRING 为 .....MYACCESS.MDB
SQLSTRING 为 SELECT * FROM FAMILY
//也就是表2啦
MYACCESS.MDB的结构如下
表1: 名字为 NAME,表2:名字为 FAMILY
(*表1有如下字段: 编号 (自动编号)
姓名 (主键(有(无重复))
这里不关表1什么鸟事*)
表2有如下字段: 姓名 (主键(有(有重复))
生日 ( DATA )
1个EDIT1,1个DATEEDIT1,1个BUTTON,1个DBGRID
我要在BUTTON{查找符合姓名和生日都相符的}这里该如何写
SELECT ????????????????????????
DATASOURCE1的DATASET设置为ADOQUERY1
ADOQUERY1的 CONNECTIONSTRING 为 .....MYACCESS.MDB
SQLSTRING 为 SELECT * FROM FAMILY
//也就是表2啦
MYACCESS.MDB的结构如下
表1: 名字为 NAME,表2:名字为 FAMILY
(*表1有如下字段: 编号 (自动编号)
姓名 (主键(有(无重复))
这里不关表1什么鸟事*)
表2有如下字段: 姓名 (主键(有(有重复))
生日 ( DATA )
1个EDIT1,1个DATEEDIT1,1个BUTTON,1个DBGRID
我要在BUTTON{查找符合姓名和生日都相符的}这里该如何写
SELECT ????????????????????????
adoquery1.sql.clear;
adoquery1.sql.add('select * from 表名');
adoquery1.open
你好像只是查找了表2的东西阿。
你重写一下SQL就行了阿。
如果要同时要用到两张表里的东西。
就设个关连阿
语法自己看一下SQL SERVER的帮助。。
adoquery1.sql.clear;
adoquery1.sql.add('select name.编号,name.姓名,family.生日 from name,family'+
' where name.姓名=family.姓名'+
'and name.姓名='''+edit1.text+''''+
' and family.生日='''+strtodate(dateedit1.text)+'''' );
adoquery1.open;
datasouce1.dateset.active:=true;
adoquery1.open
' where name.姓名=family.姓名'+
'and name.姓名='''+edit1.text+''''+
' and family.生日='''+strtodate(dateedit1.text)+''''
把表1的编号改为主键咯
with adoquery1 do
begin
close;
sql.clear;
sql.add('
select *
from '表一' inner join '表二' on 表一.姓名= 表二.姓名
where 表二。姓名=:a
and 表二。生日=:b
');
parameters.fieldbyname('a).asstring:=edit1.text;
parameters.fieldbyname('b').asdate:=dateedit1.date;
open;
end;
with adoquery1 do
begin
close;
sql.clear;
sql.add(
'select * from 表1 a,表2 b where b.姓名='''+edit1.text+''','' and b.生日='+
+dateedit1.date+' and a.姓名 = b.姓名');
Open;
End;
SELECT * FROM 表1 WHERE 姓名 XXXXX AND XXXXX
已经搞定了,原来偶写的那句少了个 ),呵呵,100分不能浪费啊求 一个字段下的所有数据的和字段名字为{ 我的存款(DOUBLE) }
1个ADOQUERY1
1个LABEL
LABEL.CAPTION:= 和偶试了两句结果 数值不对。
begin
close;
sql.text := 'select sum(我的存款) from table ';
open;
end;
label.caption := vartostr(adoquery1.fields[0].AsVariant);
begin
close;
sql.text := 'select sum(我的存款) from table ';
open;
end;
label.caption := vartostr(adoquery1.fields[0].AsVariant);