首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi应用TMD

2013-07-04 
Delphi使用TMDprocedure Tdtmdl1.DataMod(Sender:TObject)beginif con1.Connected thencon1.Closecon1.C

Delphi使用TMD


procedure Tdtmdl1.DataMod(Sender:TObject);
begin
  if con1.Connected then
  con1.Close;
  con1.ConnectionString:='Provider=SQLOLEDB.1;Password=kji@jiaj;'+
                         'Persist Security Info=True;User ID=kji;'+
                         'Initial Catalog=HC_kji;Data Source=192.168.1.6\MAC_INSTANCE;'+
                         'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
                         'Workstation ID=PC2013061008WRV;Use Encryption for Data=False;'+
                         'Tag with column collation when possible=False';
  con1.Open;
end;

TMD代码

procedure TMainForm.FillTreeView(TreeView:TTreeView);
  procedure CreateSubTree(FNodeName: string; Node: TTreeNode = nil);
  var
    mLocalName: string;
    TreeNode: TTreeNode;
    Ads_Tmp: TADODataSet;
  begin
    Ads_Tmp:=dtmdl1.ds1.Create(nil);//到这里运行就会报错,是什么原因?
    Ads_Tmp.Connection := dtmdl1.con1;
    with ADS_Tmp do
    try
      Close;
      CommandText := 'Select * from Dir Where PID =' + FNodeName;
      Open;
      First;
      while not Eof do
      begin
        mLocalName := FieldbyName('ID').Asstring;
        TreeNode := TreeView.Items.AddChild(Node, FieldByName('Caption').AsString);
        CreateSubTree(mLocalName, TreeNode); // 此处循环递归
        Next;
      end;
    finally
      ADS_Tmp.Free;
    end;
  end;
begin
  TreeView.Items.BeginUpdate;
  TreeView.Items.Clear;
  with TreeView.Items.Add(nil, '所有目录') do
  begin
    ImageIndex := 1;
    SelectedIndex := 1;
  end;
  CreateSubTree('0', TreeView.Items[0]);
  TreeView.Items.EndUpdate;
  //TreeView.Items[1].Selected := True; //展开部门

end;

使用代码


[解决办法]
跟踪吧,先确定在哪步出错
[解决办法]
Ads_Tmp:=TADODataSet.Create(nil);
[解决办法]
Ads_Tmp.Connection := dtmdl1.con1; 

这个是没问题的。
[解决办法]
我记得 Ads_Tmp:=TADODataSet.Create(nil);  这里不能传nil要传一个 对象吧!

热点排行