1。如何让DBGRID显示memo字段?
2。在DBGRID上点右键弹出快捷菜单,然后再根据菜单内容进行单记录操作,问题是我如何知道选择了哪一行记录?
3。我的程序要求点DBGRID标题进行排序,如何操作?
4。Treeview如何操作?
5。savedialog打开保存对话框后,在文件名栏中自动显示一个文件名,如何操作?
6。我的程序:
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add(sql语句);
adoquery.execsql;
adoquery.open;
execsql和open都是执行SQL语句,我的程序如没有最后一条将会报错,请问这段程序有什么问题?

解决方案 »

  1.   

    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add('Select...');
    adoquery.open;
    /////////////////////
    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add(其它);
    adoquery.execsql;
      

  2.   

    6:你要了解execsql在什么情况下使用。不返回数据
    5:你自己给他负个值不就行了吗??
    4:基本信息:
    TreeView 是一个显示树型结构的控件
    每一个节点都是一个新类
    使用具有代表性
    每个节点都有四个值:
    TEXT:显示文字 Image Index:显示图形序号
    Selected Index:
    State Index:
    (1)建立目录项(本例中使用的TREEVIEW名称为:TvwTips)
    增加根目录下的节点:(节点)
    var
    CatNode : TTreeNode; //先建立一个TREEVIEW使用的子对象
    .1.添加、删除、修改节点:
    静态的方法可以在设计时通过Items的编辑器设置各节点的内容。
    在添加和删除前必须保证有节点被选中(Treeview.Selected= nil)
    用AddFirst
    AddFirstChild
    AddChild等先添加根节点,如Treeview.Items.AddFirst( nil'Root');
    然后以此为基础,添加此项的子节点。
    删除节点
    Treeview.Selected.Delete
    编辑节点内容
    Treeview.Selected.EditText
    注意:由于根节点没有父节点 (TTreeNode.Parent= nil)
    此外,在大批量添加数据到Treeview中时最好使用
    TreeView.Items.BeginUpdate;
    添加节点
    TreeView.Items.EndUpdate
    这样能加快显示速度。
    2.在节点上添加图象
    Treeview中几个与图象相关的属性:
    SelectedIndex:当节点被选中时在TimageList 中选什么样的图象
    OverlayIndex:选那副图象作为掩图(一幅图象透明地显示在另一幅图象的前面),比如一个节点不可用时加一副X图象在其前面。
    ImageIndex:在常态时选用的图的序号
    StateIndex: 在StateImages这个ImageList中对应的序号,-1时不显示图象
    比较典型的,象在文件管理器中的所显示的一样,Treeview控件在节点之前也可以显示图象。在Form中放置一ImageList控件,加入几个图片,分别被Index为0 1
    …在Treeview的Image属性项填入你所加入的ImageList的控件名称。TreeNode的ImageIndex表示节点未被选中时(Selected=nil)的图片序号,SelectedIndex表示节点被选中时图片序号。
    3.关于Level
    Level的概念可以用下图表示:
    Level0   Level1 Level2
    4.排序
    SortType决定什么时候进行排序;
    TreeView.AlphaSort对节点进行排序,如果不能满足要求,你可以定义自己的CustomSort方法。
    5.Drag&Drop操作,与标准的拖放操作使用方法一样。
    以上具体函数的使用细节可以参考联机帮助。具体的代码编写可以参考Delphi2.0中提供的有关Treeview和ListView控件的使用例子。
    3:在dbgrid的ontitleclick谢排序事件
    2:直接写:showmessage(inttostr(adotable1.RecNo  ));
    1:好像不支持(你在数据库里可以把字段设成text型)
      

  3.   

    要返回数据是否只用OPEN就可以了,可以不用execsql
      

  4.   

    动态生成树!
    PROCEDURE  TForm1.newtreeview(Node:TTreeNode;ID,Name:String);
    var
      tmpNode : TTreeNode;
      ADOquery1 : TADOQuery;
    Begin
      //Treeview1添加部门名称;
      //Treeview1添加附带数据部门ID
      tmpNode := TreeView1.Items.AddChild(Node,Name);
      ADOQuery1 := TADOQuery.Create(self);
      ADOQuery1.Connection := ADOConnection1;
      ADOQuery1.close;
      ADOQuery1.SQL.clear;
      ADOQuery1.SQL.Text := 'select * from 部门表 where 上级部门ID='+ID;
      ADOQuery1.open;
      If ADOQuery1.recordcount > 0  then
      Begin
        //Treeview1准备添加子节点
        ADOQuery1.First;
        while not ADOQuery1.Eof do
        Begin
          Newtreeview(tmpNode,ADOQuery1.FieldByName('ID').AsString,
                      ADOQuery1.FieldByName('部门名称').AsString);
          ADOQuery1.next;
        End;
      End;
    End;