我做个毕业设计,很幼稚的那种,有几个 问题不会做,希望哪个高手帮帮忙!!  delphi6.0+access
1; 先在dbcombobox1中选出1个值(比如课程名称:数据结构),这个值也是从数据库中选出来的,然后在根据这个值查询使dbgrid显示合适的数据(比如学号,课程名,年级,课程号)
2;dbtext的用法:用dbgrid显示合适的数据(已经做完了),想用dbtext显示满足某条件的记录个数(不会),
3:dbedit好象想编辑的话的把dbdatase或dbtable设成edit状态,但怎么做啊?
我直接用,执行后不能写数据到dbedit控件,adotable1.edit;执行有提示出错,
希望能写出具体的代码,我学的时间不长,拜托各位了!!!!!!!!!!!

解决方案 »

  1.   

    1, 很简单,但表达比较麻烦,建议找本书看看2 >>想用dbtext显示满足某条件的记录个数(不会),
    改用 Edit 或 Label如:  Edit1.Text := IntToStrDef(DBGrid1.DataSource.DataSet.RecordCount, 0);
      

  2.   

    3, 加个按钮,加如下代码:  if Dbgrid1.DataSource.DataSet.State in [dsEdit, dsInsert] then
      begin
        Dbgrid1.DataSource.DataSet.Post;
      end;
      

  3.   

    1. 可以在dbcombobox的onChange事件里控制
    2. dbtext是数据感知的,如果你一定要用它的话必须和一个adoquery关联,那你要显示记录数的话就在adoquery里写个类似select count ...的sql语句然后open就行了,你可以考虑换成label控件来显示adoquery.recordcount更简单
    3. 说起来太麻烦
    建议楼主你找本书看看吧
      

  4.   

    仅是思路:
    1.先用dbcombobox连接指定的数据集,相信这个你会设置,然后在它的onchange事件里写SQL语句,查询出相应的数据,使在dbgrid中显示。
    2.显示记录个数其实不必用dbtext,用label就可以。
    label.caption := inttostr(dbgrid.datasource.dataset.recordcount); //OK
    3.dbedit.datasource.dataset.edit;  //设置编辑状态
      

  5.   

    1.建议用adoquery+DataSource+Dbgrid组件查询
    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
       adoquery.sql.clear;
       adoquery.sql.add('select * from 表 where 字段名='''+trim(combobox1.text)+'''');
       adoquery.open;
    end;
    2.用edit组件,让edit.text = inttostr(aduqyery.recordcount)
      

  6.   

    接楼上的
    3.你应该用一个ADOConnection连接数据库
    ADOTable或者ADOQuery连接ADOConnection.
    然后用一个DataSource连接ADOTable或者ADOQuery
    之后把DBEdit的DataSource设置为ADOTable或者ADOQuery.
    把dbdatase或dbtable设成edit状态
    就是  ADOTable.Edit;/ADOTable.Insert.或者ADOQuery.Edit;/ADOQuery.Insert
    改完之后一个ADOQuery.Post;/ADOTable.Post;就提交到数据库了.
      

  7.   

    1.dbcombobox连接指定的数据集,然后在它的onchange事件里写SQL语句,查询出相应的数据,使在dbgrid中显示。 if Dbgrid1.DataSource.DataSet.State in [dsEdit, dsInsert] then
      begin
        Dbgrid1.DataSource.DataSet.Post;
      end;