要用treeview的分级的档案管理系统
我现在遇到的问题是:
1怎么把从edit1.texteditn.text的输入的数据保存数据库中
(要求我用的是sqlsever2000,用ado连接,不能用DB控件)
2.对edit1.text值进行判断,如果edit1.text值在0-9作为根节点的一级子节点
当edit1.text值为001-009作为值为0的值 ,如果父节点不在是输出警告。
并且保存treeview的每一个节点
3.对treeview进行刷新
4.怎么进行删除treeview的节点和数据库相应的数据

解决方案 »

  1.   

    你的S球L  语句是怎么学的啊 
    不用数据DB组件就用结构化查询语句啊 
      

  2.   

    用ado连接,不能用DB控件.你不能自己写sql语句啊??
    adocon :TAdoconnection;
    sql :string;
    sql :='insert/delete/Update .............';//
    adocon.Execute(sql);treeview控件的使用可以看看help;
      

  3.   

    咳不就是几条SQL语句吗!
    好好学习SQL吧!
      

  4.   

    找找SQL Server的帮助,中国字,自己看啊,用SQL语句不就行了。TreeView也还好吧。
      

  5.   

    1,给你一个ACCESS的ADO连接,你改一下就能用SQL SERVER下用了
    Mdb_Path := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BJDataBase.mdb;Persist Security Info=False';伪代码:Conn:OLEVARIANT;
    Conn := CreateOleObject('ADODB.Connection');
    Conn.CursorLocation := AduseClient;
    Conn.open(Mdb_Path);2,不明白贴一段我操作treeview的代码//添加菜单
    procedure TMainForm.AddMenuClick(Sender: TObject);
    Var
      MyRecordPointer:PMyRecord;
      SQLStr:String;
      MesBox:String;
    begin
      TEditMenu.Create(Application);
      EditMenu.EditMenuText.Enabled := False;
      EditMenu.AddMenuText.Enabled := True;
      EditMenu.BitBtn2.Enabled := False;
      With EditMenu Do
        Begin
           Try
             ShowModal ;
           Finally
             IF BitBtn1.ModalResult = mrOk Then
               Begin
                 New(MyRecordPointer);
                 MyRecordPointer.MenuID := PMyRecord(TreeView1.Selected.Data)^.ParentID ;
                 MyRecordPointer.ParentID := PMyRecord(TreeView1.Selected.Data)^.ParentID + TreeView1.Selected.Count+Random(10);
                 MyRecordPointer.MenuName := AddMenuText.Text ;
                 MesBox := '将在'+PMyRecord(TreeView1.Selected.Data)^.MenuName+'栏目下添加'+AddMenuText.Text+'栏目';
                 IF Application.MessageBox(PChar(MesBox),'确定',MB_YESNO+MB_ICONINFORMATION)=IDYes Then
                   Begin
                     SQLStr := 'Insert into [Menu] (MenuID,ParentID,MenuName) Values '+
                            '('''+ IntToStr(PMyRecord(TreeView1.Selected.Data)^.ParentID) + ''','+
                            ''''+ IntToStr(PMyRecord(TreeView1.Selected.Data)^.ParentID) + IntToStr(TreeView1.Selected.Count+Random(10)) +''','+
                            ''''+ AddMenuText.Text +''')';
                     IF Trim(AddMenuText.Text) <> '' Then
                       Begin
                         Try
                           Conn.Execute(SQLStr);
                           TreeView1.Items.AddChild(TreeView1.Selected,AddMenuText.Text).Data :=  MyRecordPointer;
                         Except
                           ShowMessage('添加栏目失败,请重新选择上层菜单再次添加');
                         End;
                       End;
                   End;
               End;
             Close;
           End;
        End;
    end;//修改栏目
    procedure TMainForm.N1Click(Sender: TObject);
    Var
      MyRecordPointer:PMyRecord;
      SQLStr:String;
      MesBox:String;
    begin
      TEditMenu.Create(Application);
      EditMenu.AddMenuText.Enabled := False;
      EditMenu.BitBtn1.Enabled := False;
      EditMenu.EditMenuText.Enabled := True;
      EditMenu.BitBtn2.Enabled := False;
      With EditMenu Do
        Begin
          Try
            ShowModal;
          Finally
            IF BitBtn2.ModalResult = mrOk Then
               Begin
                 New(MyRecordPointer);
                 MyRecordPointer.MenuName := PMyRecord(TreeView1.Selected.Data)^.MenuName ;
                 MesBox := '是否将'+MyRecordPointer.MenuName+'改为'+EditMenuText.Text;
                 MyRecordPointer.ParentID := PMyRecord(TreeView1.Selected.Data)^.ParentID;
                 IF Application.MessageBox(PChar(MesBox),'确定',MB_YESNO+MB_ICONINFORMATION)=IDYes Then
                    Begin
                      SQlStr:='Update [menu] Set MenuName = '''+EditMenuText.Text+''' Where ParentID = '''+IntToStr(MyRecordPointer.ParentID)+'''';
                      Try
                        Conn.Execute(SQlStr);
                        TreeView1.Selected.Text := EditMenuText.Text;
                      Except
                        ShowMessage('修改栏目失败,请选择上层栏目后,再返回来再次尝试修改');
                      End;
                    End;
               End;
            Close;
          End;
        End;
    end;//删除栏目
    procedure TMainForm.N2Click(Sender: TObject);
    Var
       PID:Integer;
       MenuName:String;
       MsgBox:String;
    begin
      PID := PMyRecord(TreeView1.Selected.Data)^.ParentID ;
      MenuName := PMyRecord(TreeView1.Selected.Data)^.MenuName;
      MsgBoX := '即将删除'+MenuName+'栏目,以及它下层所有的栏目和文章';
      IF ApplicAtion.MessageBox(PChar(MsgBoX),'确定',MB_YESNO+MB_ICONINFORMATION)=IDYes Then
        Begin
           Try
             Conn.Execute('Delete * From [Menu] Where ParentID = '''+IntToStr(PID)+'''');
             Conn.Execute('Delete * From [Menu] Where MenuID = '''+IntToStr(PID)+'''');
             TreeView1.Selected.Delete;
           Except
             ShowMessage('删除栏目失败');
           End;
        End;
    end;
      

  6.   

    回复人: myling(贫困户) ( ) 信誉:88  2004-07-12 11:07:00  得分: 0  
     
     
       呵呵楼上的一群愤青:)
     
     哈哈,同意。