我现在做一个收费系统,有4个数据库分别是基本资料,学费,住宿费,课本费。
基本资料里有字段:学号,姓名,班级等
学费里有字段:学号,学费,交款日期,收据号码等
住宿费里有字段:学号,住宿费,交款日期,收据号码等
课本费里有字段:学号,学费,交款日期,收据号码等
我用DELPHI7+ACCESS做的,现在我想在程序中实现这样一个功能,就是说我只要输入一次学号,就能把学号添加到这4个数据库中的学号字段里。
请问各位高手我如何写SQL语句,请尽量详细点,最好有实例,因为小弟我实在是新手。
谢谢大家!!!不胜感谢!!!

解决方案 »

  1.   

    var 
      i:=Integer;
    begin
      for i:=0 to 要添加的数据标的总数-1 do
      begin
        Query基本资料.AppendRecord(学号,姓名,班级);
        Query学费.AppendRecord(学号,学费,当前时间,收据号码);
        Query住宿费.AppendRecord(学号,住宿费,当前时间,收据号码);
        Query课本费.AppendRecord(学号,学费,当前时间,收据号码);
      end;
    end;
    ===============================================================
    前提条件是,将数据表的其他字段属性设置为“可以空值”
      那么,就可以将空值的字段默认为“nil”
      

  2.   

    我的意思你没明白,我的意思是:在edit里输入的数据最后点击一下确定把所有的edit里的内容一起写到数据库里,请问button里的语句怎么写?
    而且学号的edit就一个,点击确定后分别些到4个数据库表里。我的数据库关系是用学号这个字段连接的。请lgqTiger(把酒论程序__尽在笑谈间)在帮帮我!
    非常感谢,分不够可以在加!!!!!
      

  3.   

    呵呵,你想添加什么就在button里写什么呀.
    比如你要在基本资料里加学号,就写with adoquery1 do
    begin
      close;
      sql.clear;
      sql.add('insert into 基本资料(学号)');
      sql.add('values ('+''''+edit1.text+')''');
      execsql;
    end;
      

  4.   

    如楼上的,Button按钮事件里执行四次insert语句即可实现在四个表里都插入新增记录。
      

  5.   

    随手写的首先定义一个过程:
    procedure TForm1.RunInsert(qry:TADOQuery;tabName:string);
    begin
      qry.close;
      qry.SQL:='insert into '+tabName+'(学号) values ('+''''+edit1.text+')''';
      qry.ExecSQL; 
    end;然后在按钮事件中写:RunInsert(ADOQuery1,'基本资料');
    RunInsert(ADOQuery1,'学费');
    RunInsert(ADOQuery1,'住宿费');
    RunInsert(ADOQuery1,'课本费');
      

  6.   

    不行啊,程序说语法错误啊,INSERT语法错误!!!
    各位高手再帮帮我吧!
      

  7.   

    在ACCESS中,使用的表名与字段名尽量要特殊,比如:V_name,不然你将会遇到莫名其妙的SQL语法错误,试试!!
      

  8.   

    还有我按照你的代码写到程序中,可是程序提示INSERT语法错误,不知道是什么原因?
    请你再帮我看看吧,谢谢了。
    我的代码是这么写的
    begin
    with ADOQuery1 do
    begin
      ADOQuery1.close;
      ADOQuery1.sql.clear;
      ADOQuery1.sql.add('insert into jbxx(xh)valuse(:xh)');
      ADOQuery1.parameters.parambyname('xh').value:=dbedit1.text;
      ADOQuery1.execsql;
      ADOQuery1.close;
      ADOQuery1.sql.clear;
      ADOQuery1.sql.add('insert into xfb(xh)valuse(:xh)');
      ADOQuery1.parameters.parambyname('xh').value:=dbedit1.text;
      ADOQuery1.execsql;
      ADOQuery1.close;
      ADOQuery1.sql.clear;
      ADOQuery1.sql.add('insert into zsb(xh)valuse(:xh)');
      ADOQuery1.parameters.parambyname('xh').value:=dbedit1.text;
      ADOQuery1.execsql;
      ADOQuery1.close;
      ADOQuery1.sql.clear;
      ADOQuery1.sql.add('insert into kbf(xh)valuse(:xh)');
      ADOQuery1.parameters.parambyname('xh').value:=dbedit1.text;
      ADOQuery1.execsql;
    end;
    end;
    end;  
      

  9.   

    还有ADOQuery里的参数如何设置?在SQL参数表里写什么语句?
    我在BUTTON里写了代码,可是总是提示我INSERT INTO 语句语法错误!
    我试着写了代码,可是都提示这个问题!
    我实在不知道是哪里的错误,请高手指点指点我吧。
      

  10.   

    你可以把学号传入后台数据库中,然后用SQL语句进行每个库的插入就行了
      

  11.   

    ADOQuery1.close;
      ADOQuery1.sql.clear;
      ADOQuery1.sql.Text:='insert into jbxx(xh) valuse('''+dbedit1.text+''')';
      ADOQuery1.execsql;
    其它的都一样
      

  12.   

    错了错了,在jbxx(xh)中间要加空格