我需要刪除目錄中的所有文件(由於圖庫腳本保持全尺寸的圖像,但不使用它們!)。SQL查詢選擇目錄,然後刪除其中的所有文件 - C#
我已經寫了一些代碼將查詢轉儲到DataTable中,然後遍歷記錄。但是,當我引入用於查找所有文件並刪除它們的循環時,它似乎只運行第一個SiteID。應至少有350個目錄可供掃描,但它只會執行第一個SiteID(此SiteID中的所有模塊)。
任何想法,因爲我難住!
private void frmMain_Load(object sender, EventArgs e)
{
SqlConnection con = null;
try
{
// Open connection to the database
string ConnectionString = "server=(local);UID=x;PWD=y;database=mojoportal2";
con = new SqlConnection(ConnectionString);
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
da.SelectCommand = new SqlCommand(@"SELECT SiteID, ModuleID FROM mp_Modules where ModuleDefID = 16 ORDER By SiteID DESC", con);
da.Fill(ds, "Sites");
dt = ds.Tables["Sites"];
foreach (DataRow dr in dt.Rows)
{
string SiteID = dr["SiteID"].ToString();
string ModuleID = dr["ModuleID"].ToString();
string directoryPath = @"E:\Website\" + SiteID + @"\media\GalleryImages\" + ModuleID + @"\FullSizeImages";
MessageBox.Show("Deleting Files In " + directoryPath);
string[] files = Directory.GetFiles(directoryPath);
string[] dirs = Directory.GetDirectories(directoryPath);
foreach (string file in files)
{
MessageBox.Show(file);
//File.SetAttributes(file, FileAttributes.Normal);
//File.Delete(file);
}
}
}
catch (Exception ex)
{
// Print error message
MessageBox.Show(ex.Message);
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
}
你檢查了什麼是SQL查詢的結果?在甚至去刪除目錄之前,你從那裏得到什麼數據? – Yahya 2013-03-22 10:33:30