?? disk.cs
字號:
?using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public interface IDisk
{
/// <summary>
/// 目錄的接口設(shè)計
/// </summary>
SqlDataReader GetAllDirectoryFile();
/// <summary>
/// 獲取子目錄和文件信息
/// </summary>
/// <param name="nParentID"></param>
/// <returns></returns>
SqlDataReader GetDirectoryFile(int nParentID);
/// <summary>
/// 獲取所有目錄信息
/// </summary>
/// <returns></returns>
SqlDataReader GetDirectorys();
/// <summary>
/// 獲取子目錄信息
/// </summary>
/// <param name="nParentID"></param>
/// <returns></returns>
SqlDataReader GetDirectory(int nParentID);
/// <summary>
/// 獲取單個目錄信息
/// </summary>
/// <param name="nDirID"></param>
/// <returns></returns>
SqlDataReader GetSingleDirectory(int nDirID);
/// <summary>
/// 新建一個目錄
/// </summary>
/// <param name="sName"></param>
/// <param name="nParentID"></param>
/// <returns></returns>
int AddDirectory(string sName,int nParentID);
/// <summary>
/// 重命名目錄
/// </summary>
/// <param name="nDirID"></param>
/// <param name="sName"></param>
/// <returns></returns>
int EditDirectory(int nDirID,string sName);
/// <summary>
/// 刪除一個目錄
/// </summary>
/// <param name="nDirID"></param>
/// <returns></returns>
int DeleteDirectory(int nDirID);
/// <summary>
/// 移動一個目錄
/// </summary>
/// <param name="nDirID"></param>
/// <param name="nParentID"></param>
/// <returns></returns>
int MoveDirectory(int nDirID,int nParentID);
/// <summary>
/// 獲取所有文件
/// </summary>
/// <returns></returns>
SqlDataReader GetFiles();
/// <summary>
/// 獲取給定目錄下的所有文件
/// </summary>
/// <param name="nParentID"></param>
/// <returns></returns>
SqlDataReader GetFile(int nParentID);
/// <summary>
/// 獲取單個文件
/// </summary>
/// <param name="nFileID"></param>
/// <returns></returns>
SqlDataReader GetSingleFile(int nFileID);
/// <summary>
/// 上載一個文件
/// </summary>
/// <param name="sName"></param>
/// <param name="nParentID"></param>
/// <param name="nContain"></param>
/// <param name="sUrl"></param>
/// <param name="sType"></param>
/// <returns></returns>
int AddFile(string sName,int nParentID,int nContain,string sUrl,string sType);
/// <summary>
/// 修改文件的名稱
/// </summary>
/// <param name="nFileID"></param>
/// <param name="sName"></param>
/// <returns></returns>
int EditFile(int nFileID,string sName);
/// <summary>
/// 刪除一個文件
/// </summary>
/// <param name="nFileID"></param>
/// <returns></returns>
int DeleteFile(int nFileID);
/// <summary>
/// 移動文件
/// </summary>
/// <param name="nFileID"></param>
/// <param name="nParentID"></param>
/// <returns></returns>
int MoveFile(int nFileID,int nParentID);
/// <summary>
/// 搜索文件
/// </summary>
/// <param name="sKey"></param>
/// <returns></returns>
SqlDataReader SearchFiles(string sKey);
}
/// <summary>
/// Disk 的摘要說明
/// </summary>
public class Disk : IDisk
{
public void ShowDirectory(DropDownList dirList,int nParentID)
{
DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(GetDirectorys());
dirList.Items.Clear(); ///清空所有節(jié)點
DataRow[] rowList = dataTable.Select("ParentID='-1'");
if(rowList.Length <= 0) return;
///創(chuàng)建、添加根節(jié)點
dirList.Items.Add(new ListItem("/",rowList[0]["DirID"].ToString()));
///創(chuàng)建其他節(jié)點
CreateChildNode(dirList,dataTable,Int32.Parse(rowList[0]["DirID"].ToString()),"/");
}
private void CreateChildNode(DropDownList dirList,DataTable dataTable,int nParentID,string sParentName)
{
///選擇數(shù)據(jù)時,添加了排序表達式OrderBy
DataRow[] rowList = dataTable.Select("ParentID='" + nParentID.ToString() + "'","CreateDate DESC");
foreach(DataRow row in rowList)
{
string sName = sParentName + row["Name"].ToString() + "/";
///創(chuàng)建新節(jié)點
dirList.Items.Add(new ListItem(sName,row["DirID"].ToString()));
///遞歸調(diào)用,創(chuàng)建其他節(jié)點
CreateChildNode(dirList,dataTable,Int32.Parse(row["DirID"].ToString()),sName);
}
}
#region IDisk 成員
public SqlDataReader GetAllDirectoryFile()
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "SELECT * FROM Directory";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義DataReader
SqlDataReader dr = null;
try
{
///打開鏈接
myConnection.Open();
///讀取數(shù)據(jù)
dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
///返回DataReader
return dr;
}
public SqlDataReader GetDirectorys()
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "SELECT * FROM Directory WHERE Flag='1'";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義DataReader
SqlDataReader dr = null;
try
{
///打開鏈接
myConnection.Open();
///讀取數(shù)據(jù)
dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
///返回DataReader
return dr;
}
public SqlDataReader GetFiles()
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "SELECT * FROM Directory WHERE Flag='0'";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義DataReader
SqlDataReader dr = null;
try
{
///打開鏈接
myConnection.Open();
///讀取數(shù)據(jù)
dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
///返回DataReader
return dr;
}
public SqlDataReader GetDirectoryFile(int nParentID)
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "SELECT Directory.*,Url.Url,Url.Type "
+ "FROM Directory Left JOIN Url ON Directory.DirID = Url.DirID "
+ "WHERE ParentID='" + nParentID.ToString() + "'";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義DataReader
SqlDataReader dr = null;
try
{
///打開鏈接
myConnection.Open();
///讀取數(shù)據(jù)
dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
///返回DataReader
return dr;
}
public SqlDataReader GetDirectory(int nParentID)
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "SELECT * FROM Directory WHERE Flag='1' AND ParentID='" + nParentID.ToString() + "'";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義DataReader
SqlDataReader dr = null;
try
{
///打開鏈接
myConnection.Open();
///讀取數(shù)據(jù)
dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
///返回DataReader
return dr;
}
public SqlDataReader GetSingleDirectory(int nDirID)
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "SELECT * FROM Directory WHERE DirID='" + nDirID.ToString() + "'";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義DataReader
SqlDataReader dr = null;
try
{
///打開鏈接
myConnection.Open();
///讀取數(shù)據(jù)
dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
///返回DataReader
return dr;
}
public int AddDirectory(string sName,int nParentID)
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "INSERT INTO Directory (Name,ParentID,Contain,DirCount,FileCount,Flag,CreateDate)VALUES("
+ "'" + sName + "',"
+ "'" + nParentID.ToString() + "',"
+ "'0" + "',"
+ "'0" + "',"
+ "'0" + "',"
+ "'1" + "',"
+ "GetDate()"
+ ")";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///定義返回值
int nResult = -1;
try
{
///打開鏈接
myConnection.Open();
///執(zhí)行SQL語句
nResult = myCommand.ExecuteNonQuery();
///修改目錄的數(shù)量
cmdText = "UPDATE Directory SET DirCount = DirCount + 1 WHERE DirID='" + nParentID.ToString() + "'";
myCommand.CommandText = cmdText;
nResult = myCommand.ExecuteNonQuery();
}
catch(SqlException ex)
{
///拋出異常
throw new Exception(ex.Message,ex);
}
finally
{ ///關(guān)閉鏈接
myConnection.Close();
}
///返回nResult
return nResult;
}
public int EditDirectory(int nDirID,string sName)
{
///創(chuàng)建鏈接
SqlConnection myConnection = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
///定義SQL語句
string cmdText = "UPDATE Directory SET Name ="
+ "'" + sName + "'"
+ " WHERE DirID='" + nDirID.ToString() + "'";
///創(chuàng)建Command
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -