表结构:
    ID        Pid        Name
    1         0         网盘
    2         1         视频
    3         1         文档
    4         2         神探狄仁杰现在想将"视频"文件夹复制一分到"文档"文件夹中该如何实现好?
 

解决方案 »

  1.   

    insert into table1 (id, pid, name)
    select
    (select max(id)+1 as id from table1) as id, -- 获取新的Id
    (select id from table1 where id = 3) as pid, -- 将文档的ID绑定到pid
    name -- “视频”
    from table1 
    where id = 2看下行不行。没验证过。
      

  2.   

    视频文件夹下也有很多文件或者文件夹是把?
    递归遍历文件夹copy至另一个文件夹下。
    public void CopyDirectory(string DirectoryPath, string DirAddress, bool DirFirst)//复制文件夹,
            {
                string s = DirectoryPath.Substring(DirectoryName(DirectoryPath));//获取文件夹名
                DirectoryInfo DirectoryArray = new DirectoryInfo(DirectoryPath);
                FileInfo[] Files = DirectoryArray.GetFiles();//获取该文件夹下的文件列表     
                DirectoryInfo[] Directorys = DirectoryArray.GetDirectories();//获取该文件夹下的文件夹列表             myFTPclient.FtpCreateDirectory(DirAddress);
                foreach (FileInfo inf in Files)//逐个复制文件     
                {
                    myFTPclient.Upload(DirectoryPath + "/" + inf.Name, DirAddress + "/" + inf.Name);
                }            foreach (DirectoryInfo Dir in Directorys)//逐个获取文件夹名称,并递归调用方法本身
                {
                    CopyDirectory(DirectoryPath + "/" + Dir.Name, DirAddress + "/" + Dir.Name, true);
                }
            }
    public int DirectoryName(string DirectoryPath)//获取文件夹名,截取“\” 
            {
                int j = 0;
                j = DirectoryPath.LastIndexOf("\\");
                return j + 1;
            }
      

  3.   

    不知道楼主所要具体表达的?求sql?
      

  4.   

    sqk 删除原节点,获取name 及移动的id,和pparentid
    文件夹移动
      public bool  Edit(DiskInfo disk, DiskInfo ddisk)
            {
                bool bExist = false;
                if (Directory.Exists(disk.Path))
                {
                    DirectoryInfo d = new DirectoryInfo(disk.Path);
                    if (!Directory.Exists(ddisk.Path))
                    {
                        d.MoveTo(ddisk.Path);
                    }
                    else
                    {
                        bExist = true;
                    }
                }
                return bExist;} public bool  Edit(DiskInfo disk, DiskInfo ddisk)
            {
                bool bExist = false;
                if (Directory.Exists(disk.Path))
                {
                    DirectoryInfo d = new DirectoryInfo(disk.Path);
                    if (!Directory.Exists(ddisk.Path))
                    {
                        d.MoveTo(ddisk.Path);
                    }
                    else
                    {
                        bExist = true;
                    }
                }
                return bExist;
            }
      

  5.   

    JSTREE。jsTree