我要做一个上班时间管理系统,界面上有一个MontheCalendar,3个单选框,分别是默认时间,休息日,自定义时间,6个Laber,分别是上午开始时间,上午结束时间,下午开始时间,下午结束时间,晚上开始时间,晚上结束时间,数据库用SQL SEVER2000,我已经建立一个数据库WORKTIME,里面有一个表TIME,表里有6列,想分别对应6个Laber的内容,但是我不知道如何对应,如何建立和数据库的连接,如何保存修改后的数据,比如:我选择2003年2月20日,然后选择自定义时间,然后把上午开始时间改成7:00,然后怎么能保存这个修改又不影响其它日子的时间。然后下次打开的时候是修改过的,
我是不是控件用错了?我刚刚开始学习,如果哪里说的不清楚,请告诉我,谢谢
如果您知道如何做,请详细告诉我。谢谢

解决方案 »

  1.   

    在数据库中你还应该多加一个字段“日期”作为主键,worktime由7个字段分别是(日期,上午开始时间,上午结束时间,下午开始时间,下午结束时间,晚上开始时间,晚上结束时间)。
    在MonthCalendar1Click中   //取时间
    begin
      adoquery1.close;
      adoquery1.sql.clear;
      adoquery1.sql.text:='select * from worktime where 日期='''+datetostr(MonthCalendar1.date)+'''';
      adoquery1.open;
      label1.caption:=fieldbyname('上午开始').asstring;
      其余雷同。end;
    //改时间的花,先改变label1-6的caption,用update语句更新数据库,即可。
    具体代码就不写了。
      

  2.   

    写到数据库中就不会改变的了呀!UPDATE TABLENAME SET 要更新的字段名=新值 where 条件...........
      

  3.   

    为什么添加小勇的代码之后出现3个错误信息啊
    [Error] Unit2.pas(53): Undeclared identifier: 'fieldbyname'
    [Error] Unit2.pas(53): Missing operator or semicolon
    [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit2.pas'
    什么意思啊?怎么解决?
    这个系统是PROJECT2,以前有一个PROJECT1(没什么用处的)。
      

  4.   

    先前说错了,不是用LABER,是用EDIT,对不起
      

  5.   

    建议先找本最基础的Delphi的书看一下数据库开发方面的东西,这些很容易搞定的
      

  6.   

    好象是连接有问题,我用了一个ADOConnection,连到SQL SEVER2000上,没问题,一个DataSource1,Dataset设置成ADOQuery1,一个ADOTable1,其中Connection设置成ADOConnection1,MasterSource设置DataSource1,TableName是我数据库中的表time,一个ADOQuery1,Connection设置成ADOConnection1,Active和DataSource都没有设置,也不能设置,一设置就有对话框跳出来,小勇给的代码总是最后一句有问题,三个错误信息我已经在上面写出来了,和初始化有没有关系啊。
      

  7.   

    我在看啊,可是书上关于BDE介绍不少,ADO一笔带过,很少,根本没讲明白,能不能介绍几本比较好的全面的书?谢谢
      

  8.   

    有一本铁道版的《DELPHI实用宝典》,不妨看看
      

  9.   

    [Error] Unit2.pas(53): Undeclared identifier: 'fieldbyname'
    [Error] Unit2.pas(53): Missing operator or semicolon
    [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit2.pas'
    把这句  label1.caption:=fieldbyname('上午开始').asstring;
    改为 label1.caption:=AdoQuery1.fieldbyname('上午开始').asstring;一个ADOQuery1,Connection设置成ADOConnection1,Active和DataSource都没有设置,也不能设置,一设置就有对话框跳出来,这是因为你的Query的SQL还没有语句,所以不能在设计时置Active为True