我用了个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 ????????????????????????
                

解决方案 »

  1.   

    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from 表名');
    adoquery1.open
    你好像只是查找了表2的东西阿。
    你重写一下SQL就行了阿。
    如果要同时要用到两张表里的东西。
    就设个关连阿
    语法自己看一下SQL SERVER的帮助。。
      

  2.   

    adoquery1.close;
    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
      

  3.   

    'select name.编号,name.姓名,family.生日 from name,family'+
    ' where name.姓名=family.姓名'+
    'and name.姓名='''+edit1.text+''''+
    ' and family.生日='''+strtodate(dateedit1.text)+''''
      

  4.   

    没必要  硬要的话就
    把表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;
      

  5.   

    select name.编号,name.姓名,family.生日 from name,family where name.姓名 =family.姓名(+)
      

  6.   

    表结构不合理
    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;
      

  7.   

    郁闷我说了这里不关表1什么鸟事的,只是将结构说下而已,还有我的问题在我昨天玩泡泡的时候解决了。你们都写了些什么啊。郁闷!!!~~~我倒
    SELECT * FROM 表1 WHERE 姓名 XXXXX   AND  XXXXX
    已经搞定了,原来偶写的那句少了个    ),呵呵,100分不能浪费啊求 一个字段下的所有数据的和字段名字为{     我的存款(DOUBLE)        }
    1个ADOQUERY1
    1个LABEL
    LABEL.CAPTION:=    和偶试了两句结果 数值不对。
      

  8.   

    偶的意思说明白点就是如何能让LABEL1的CAPTION为合计数
      

  9.   

    with adoquery1 do
    begin
      close;
      sql.text := 'select sum(我的存款) from table ';
      open;
    end;
    label.caption := vartostr(adoquery1.fields[0].AsVariant);
      

  10.   

    with adoquery1 do
    begin
      close;
      sql.text := 'select sum(我的存款) from table ';
      open;
    end;
    label.caption := vartostr(adoquery1.fields[0].AsVariant);