PDA

View Full Version : سوال: کپی بانک اطلاعاتی در پوشه مسیر برنامه و استفاده از آن



علی فتحی
سه شنبه 18 شهریور 1393, 20:42 عصر
سلام دوستان یک کد توی سایت پیدا کردم بنظرم مشکل سال مالی رو بطور کلی حل میمنه خیلی هم جالبه برای پشتیبان گیری و بازیابی

من این کدو برای ساخت پوشه با اسم خاص و کپی بانک در همون پوشه نوشتم خوب هم کار میکنه .


فقط داخل پوشه کپی نمیشه . چگونه میتوان داخل پوشه ای که همون لحظه ساخته میشه کپی کرد . داخل پوشه موجود مشکلی نیست . ولی من میخوام داخل پوشه ای کپی بشه که اسمشو توی تکس باکس نوشتم



private void buttonX1_Click(object sender, EventArgs e)
{


Directory.CreateDirectory(Application.StartupPath +"\\" + textBoxX1.Text +"");


SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Data.mdf;Integrated Security=True;User Instance=True";
if (con.State == ConnectionState.Open)
{
con.Close();
SqlConnection.ClearPool(con);
con.Dispose();
}

File.Copy(Application.StartupPath + "\\Data.mdf", Application.StartupPath + "\\textBoxX1.Text \\" + "Data.mdf");
File.Copy(Application.StartupPath + "\\Data_log.ldf", Application.StartupPath + "\\textBoxX1.Text \\" + " Data_log .ldf");


MessageBox.Show("پشتیبان تهیه شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

sagggad
سه شنبه 18 شهریور 1393, 21:57 عصر
سلام
http://videolearning.rozblog.com/Forum/Catgory/6/Post/166

علی فتحی
سه شنبه 18 شهریور 1393, 22:35 عصر
اینم پاسخ کامل و بی نقص


private void buttonX1_Click(object sender, EventArgs e)
{





SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Data.mdf;Integrated Security=True;User Instance=True";
if (con.State == ConnectionState.Open)
{
con.Close();
SqlConnection.ClearPool(con);
con.Dispose();
}


File.Copy(Application.StartupPath + "\\Data.mdf", Application.StartupPath + "\\"+textBoxX1.Text+"\\" + "Data.mdf");
File.Copy(Application.StartupPath + "\\Data_log.ldf", Application.StartupPath + "\\" + textBoxX1.Text + "\\" + " Data_log .ldf");


MessageBox.Show("پشتیبان تهیه شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
}


private void buttonX2_Click(object sender, EventArgs e)
{
Directory.CreateDirectory(Application.StartupPath + "\\" + textBoxX1.Text + "");
MessageBox.Show("پوشه ایجاد شد");
}
}

علی فتحی
سه شنبه 18 شهریور 1393, 22:37 عصر
فقط سوال بعدی
چگونه با انتی تی از اون مسیر ها بانکهای کپی شده بصورت دستی استفاده کنم.



<?xml version="1.0" encoding="utf-8"?><configuration> <connectionStrings> <add name="DataEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Data.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> </connectionStrings></configuration>

xxnagin
سه شنبه 18 شهریور 1393, 22:40 عصر
سلام
این خط مربوط به کپی


File.Copy(Application.StartupPath + "\\Data.mdf", Application.StartupPath + "\\textBoxX1.Text \\" + "Data.mdf"); File.Copy(Application.StartupPath + "\\Data_log.ldf", Application.StartupPath + "\\textBoxX1.Text \\" + " Data_log .ldf");


File.Copy(Application.StartupPath + "\\"+ Data.mdf", Application.StartupPath + "\\" + textBoxX1.Text + "\\Data.mdf"); File.Copy(Application.StartupPath + "\\Data_log.ldf", Application.StartupPath + "\\+ textBoxX1.Text + "\\Data_log .ldf");

شما این قسمت "\\textBoxX1.Text \\"
رو اشتباه نوشتید
یعنی شما با این کار پوشه textBoxX1.Text که در کد برنامه استفاده کردید رو به عنوان پوشه در نظر گرفتید
نه اسم پوشه ای که داخل textBoxX1.Text نوشتید

علی فتحی
سه شنبه 18 شهریور 1393, 23:38 عصر
درسته همینو میخواستم تکس باکس خود پوشه ست

علی فتحی
چهارشنبه 19 شهریور 1393, 02:32 صبح
حالا اگر کسی تونست نحوه استفادشو بنویسه ممنون میشم
app.confingدستی عوض بشه و ذخیره بشه

mz6488
شنبه 22 شهریور 1393, 23:56 عصر
حالا اگر کسی تونست نحوه استفادشو بنویسه ممنون میشم
app.confingدستی عوض بشه و ذخیره بشه

من تا حالا با اینتایتی کار نکردم ولی ببینید کانکشن استرینگ تو setting هم ذخیره میشه یا نه.اگه دخیره بشه که دستورش رو دارم

علی فتحی
یک شنبه 23 شهریور 1393, 20:52 عصر
بله ذخیره میبرای هر مورد باید تغییر بدمشه.

علی فتحی
شنبه 19 مهر 1393, 21:27 عصر
دوستان حرفه ای در انتی تی لطفا اگر راهشو بلدین ممنون میشم جواب بدین خیلی وقته منتظرم:خجالت:

mz6488
شنبه 19 مهر 1393, 21:47 عصر
واسه تغییر کانکشن استرینگ اگه تو ستینگ ذخیره میشه،اول باید برید تو setting.Designer
بعد یه متد هست به اسم خود کانکشن استرینگ که فقط get داره. شما باید set رو بهش اضافه کنید. به صورت زیر

public string mainDBConnectionString {
get {
return ((string)(this["mainDBConnectionString"]));
}
set
{
this["mainDBConnectionString"] = value;
}
}


بعد موقع لود فرم باید کانکشن استرینگ رو بهش بدید

Properties.Setting.mainDBConnectionString=connecti on

علی فتحی
دوشنبه 21 مهر 1393, 09:54 صبح
با تشر راحتر از اینا حل شد یک پوشه بنام جاری ساختم بعد هر سالی که خواستم راحت تغییر نام میدم به جاری و کار میکنم مثل اب خوردن راحت و بی مشکل:لبخند: