PDA

View Full Version : سوال: كمك درباره backup گيري



hamide741
یک شنبه 01 اردیبهشت 1392, 22:34 عصر
Private void Backup (string strFileName)
{
try
{
string command=@"BACKUP DATABASE Pubs TO DISK='" + strFileName + " ' ";
this.Cursor= Cursors.WaitCursor;
SqlCommand oCommand=null;
SqlConnection oConnection = null;
oConnection=new SqlConnection ( "Data Source=.; Initial Catalog=Pubs;
Integrated Security=True");
if (oConnection.State !=ConnectionState.Open)
oConnection.Open();
oCommand =new SqlCommand ( Sqlcommand, oConnection);
oCommand.ExecuteNonQuery();
this.cursor=Cursors.Default;
MessageBox.show(" تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد.");
}
Catch (Exception ex)
{
MessageBox.Show ("Error Occurd : " + ex.Message);
}
}
من اين كد رو استفاده كردم اين قسمت كه زيرش خط كشيدم ومروبش كردم
ميزنهsql داخل پرانتز موجود نيست

littledemon
یک شنبه 01 اردیبهشت 1392, 23:27 عصر
این چیست ؟:لبخند: "Sqlcommand"
فکر کنم شما باید پارامتر اول رو به فرمانتون ارجاع بدید :



oCommand =new SqlCommand ( command, oConnection);

alexmcse
یک شنبه 01 اردیبهشت 1392, 23:35 عصر
سلام
دانلود کن
http://alexmcse.blogsky.com/

littledemon
دوشنبه 02 اردیبهشت 1392, 10:09 صبح
سلام
دانلود کن
http://alexmcse.blogsky.com/
خوب این که لینک اصلی بلاگ هست و فکر میکنم بیشتر جنبه تبلیغی داشته باشه ! لاقل لینک مستقیم به مطلب میزاشتی واسه رفیقمون .

من پیشنهادم اینه که دوستانمون رو پرورش بدیم تا خودشون خلق کنند و نه این که به چیزی وابسته شون کنیم ! :چشمک:

hamide741
دوشنبه 02 اردیبهشت 1392, 19:38 عصر
این چیست ؟:لبخند: "Sqlcommand"
فکر کنم شما باید پارامتر اول رو به فرمانتون ارجاع بدید :



oCommand =new SqlCommand ( command, oConnection);

با سلام ممنونم ولي باز هم كار نكرد

veniz2008
دوشنبه 02 اردیبهشت 1392, 20:03 عصر
سلام.
کدتون رو داخل تگ شارپ ( # ) بذارید تا کدهاتون قابل فهم تر و پش نوازتر باشن.
یه عکس از خطا بگیرید و بزارید.(عکس رو طوری بگیرید که کدهای برنامتون هم مشخص باشه).

hamide741
دوشنبه 02 اردیبهشت 1392, 20:15 عصر
سلام.
کدتون رو داخل تگ شارپ ( # ) بذارید تا کدهاتون قابل فهم تر و پش نوازتر باشن.
یه عکس از خطا بگیرید و بزارید.(عکس رو طوری بگیرید که کدهای برنامتون هم مشخص باشه).
سلام
private void Backup(string strFileName)
{
try
{
string command = @"BACKUP DATABASE bbb TO DISK='" + strFileName + "'";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
SqlConnection oConnection = null;
oConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bbb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(sqlcommand, oConnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
MessageBox.Show(" تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد");
}
catch (Exception ex)
{
MessageBox.Show("Error Occurd :" + ex.Message);
}
}اينم مشكلش
Error 1 The name 'sqlcommand' does not exist in the current context 3

veniz2008
دوشنبه 02 اردیبهشت 1392, 20:37 عصر
sqlcommand شما دو پارامتر ورودی میگیره. اولیش دستور sql شما هست و دومی کانکشن شما.
دومی رو درست نوشتی ولی اولی رو باید command بذاری. یعنی :

oCommand = new SqlCommand(command, oConnection);

hamide741
سه شنبه 03 اردیبهشت 1392, 00:07 صبح
sqlcommand شما دو پارامتر ورودی میگیره. اولیش دستور sql شما هست و دومی کانکشن شما.
دومی رو درست نوشتی ولی اولی رو باید command بذاری. یعنی :

oCommand = new SqlCommand(command, oConnection);

private void Backup(string strFileName)
{
try
{

string command = @"BACKUP DATABASE bbb.mdf TO DISK='" + strFileName + "'";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
SqlConnection oConnection = null;
oConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bbb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(command, oConnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
MessageBox.Show(" تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد");
}
catch (Exception ex)
{
MessageBox.Show("Error Occurd :" + ex.Message);
}
}باسلام ممنون ولي به يك مشكل جديد برخورد كردم كدروتغيير دادم به اين شكل ولي الان اين مشكل رودارم يك پيغام داخل به اين شكل نمايش مي دهerror occurd:incorrect syntax near.'.' r

veniz2008
سه شنبه 03 اردیبهشت 1392, 10:01 صبح
همیشه سعی کنید بگید در کدوم خط از برنامه خطا اتفاق می افته. هر چقدر راهنمایی شما کمتر باشه، دیرتر به جوابتون می رسید.
در دستور sql مربوط به backup بعد از کلمه BACKUP DATABASE باید نام دیتابیس رو ذکر کنید. اینو ببینید. (نام دیتابیس من DBPos هست ). به جای path@ هم باید مسیر ذخیره شدن فایل پشتیبان رو بدید.

backup database [DBPos] to disk = @path with init
موفق باشید.

hamide741
سه شنبه 03 اردیبهشت 1392, 10:35 صبح
ممنون از رهنمايي شما ام داخل خود برنامه كه errorنميده يك مسيج باكس نشون ميده كه متن errorرو بالا نوشتم نمي دونم كدوم خطه

veniz2008
سه شنبه 03 اردیبهشت 1392, 10:56 صبح
داخل خود برنامه كه errorنميده يك مسيج باكس نشون ميده كه متن errorرو بالا نوشتم نمي دونم كدوم خطه
دلیلش اینه که try و catch استفاده کردی وگرنه برنامه در خط مورد نظر متوقف میشه و میتونید ببینید که خطا در کدوم بخش اتفاق می افته.

hamide741
سه شنبه 03 اردیبهشت 1392, 14:14 عصر
دلیلش اینه که try و catch استفاده کردی وگرنه برنامه در خط مورد نظر متوقف میشه و میتونید ببینید که خطا در کدوم بخش اتفاق می افته.
به نظر شما از چي استفاده كنم

Mahmoud.Afrad
سه شنبه 03 اردیبهشت 1392, 16:07 عصر
چون دیتابیس اتچ نیست باید به جای نام ، آدرس کامل دیتابیس رو قرار بدید:

private void Backup(string strFileName)
{
using (SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bbb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"))
{
using (SqlCommand cmd = new SqlCommand())
{
try
{
this.Cursor = Cursors.WaitCursor;
con.Open();
cmd.Connection = con;
string dbname = cmd.Connection.Database;//'گرفتن نام کامل دیتابیس
SqlConnection.ClearAllPools();
cmd.CommandText = "USE [MASTER] BACKUP DATABASE [" + dbname + "] TO DISK =N'" + strFileName + "'";
cmd.ExecuteNonQuery();
MessageBox.Show("تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد");
}
catch (Exception ex)
{
MessageBox.Show("Error Occurd :" + ex.Message);
}
finally
{
this.Cursor = Cursors.Default;
}
}
}
}

hamide741
سه شنبه 03 اردیبهشت 1392, 22:44 عصر
چون دیتابیس اتچ نیست باید به جای نام ، آدرس کامل دیتابیس رو قرار بدید:

private void Backup(string strFileName)
{
using (SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bbb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"))
{
using (SqlCommand cmd = new SqlCommand())
{
try
{

this.Cursor = Cursors.WaitCursor;
con.Open();
cmd.Connection = con;
string dbname = cmd.Connection.Database;//'گرفتن نام کامل دیتابیس
SqlConnection.ClearAllPools();
cmd.CommandText = "USE [MASTER] BACKUP DATABASE [" + dbname + "] TO DISK =N'" + strFileName + "'";
cmd.ExecuteNonQuery();
MessageBox.Show("تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد");
}
catch (Exception ex)
{
MessageBox.Show("Error Occurd :" + ex.Message);
}
finally
{
this.Cursor = Cursors.Default;
}
}
}
}

سلام ممنون با تشكر از همه دوستان مشكل حل شد
اگه در مورد restoreهم مطلبي دازيد ممنون ميشم