PDA

View Full Version : اجراي برنامه براي اولين بار



ayor_1985_110
جمعه 18 اردیبهشت 1388, 18:51 عصر
اگه بخواهيم برنامه به صورت خودكار در صورت نبود پايگاه داده در

sql2000 پايگاه داده رو بسازد و بكاپ قبلي رو بازيابي كند چه كدي و در

كدام قسمت بايد نوشت لطفا اگه ميتونيد راهنماييم كنيد.


از همه دوستان ممنونم.:قلب:

seven7777777
جمعه 18 اردیبهشت 1388, 23:27 عصر
فکر کنم به توضیحات بیشتری نیازه مثل اینکه پایگاه داده نیست یعنی چی و اینکه بکاپ اون به چه صورت و در کجا و چه زمانی گرفته شده ولی در کل برای یکبار اجرا شدن یک مورد فکر کنم بهترین راه استفاده از رجیستری باشه !!!

ayor_1985_110
شنبه 19 اردیبهشت 1388, 00:20 صبح
ميخوام وقتي برنامرو براي اولين بار روي سيستم ديگه نصب ميكنم پايگاه دادرو دستي نسازم خودش بسازه

ممنون ميشم بيشتر توضيح بدهيد.

NewFoxStudent
شنبه 19 اردیبهشت 1388, 12:28 عصر
میتونید در هر بار اجرای برنامه کنترل کنید که پایگاه داده وجود داره یا نه
اگه وجود نداشت دو حالت پیش میاد
یا Sql نصب نیست
و یا Sql نصب هست ولی بانک اطلاعاتی وجود نداره
بسته به حالتی که پیش میاد میتونی عملیات مورد نظر رو انجام بدی
حالا شما بفرما کدوم قسمتش رو مشکل داری تا اگه بتونم راهنماییتون کنم

ayor_1985_110
شنبه 19 اردیبهشت 1388, 13:09 عصر
من تو همش مشكل دارم اگه لطف كنيد كامل برام بگيد كه چه كدايي رو در كجا بگذارم ممنون ميشم

NewFoxStudent
شنبه 19 اردیبهشت 1388, 14:37 عصر
http://barnamenevis.org/forum/showpost.php?p=467590

از لینک بالا طریقه بدست آوردن instance های sql رو توی شبکه ببین

اگه هیچ اینتنسی نبود یعنی sql نصب نیست و باید نصب بشه

اگه بود بهش وصل میشی و با کوئری زیر تست میکنی که بانکت وجود داره یا نه


Select Name From SysDataBases Where Name = 'dbName'

جای dbName باید نام بانکت رو بزاری

اگه بانکت وجود نداشت با دستور زیر attach میکنی


sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]


جای dbName باید نام بانکت رو بزاری و جای fileName مسیر فایل mdf بانکت رو بدی

هرجاش رو متوجه نشدی بگو تا توضیح بدم

در ضمن همه این کارها رو میتونی توی تابع main برنامت و یا توی formloade فرم اصلی برنامت انجام بدی

ayor_1985_110
شنبه 19 اردیبهشت 1388, 16:05 عصر
واقعا از همكاريتون ممنونم خيلي لطف كرديد.

NewFoxStudent
شنبه 19 اردیبهشت 1388, 16:34 عصر
این هم کد نصب Sql Desktop Engine
30652

ayor_1985_110
شنبه 19 اردیبهشت 1388, 18:11 عصر
اگر امكانش هست كد مربوط به انجام مراحل بالا را بگذاريد به صورت يك تكه برنامه من نتونستم از كدايي كه گذاشتيد استفاده كنم .
از همكاريتون سپاسگذارم.

ayor_1985_110
شنبه 19 اردیبهشت 1388, 23:15 عصر
اگه ميشه زودتر برام كد رو بذاريد خيلي نياز دارم.متشكرم

hojjat_gh
یک شنبه 20 اردیبهشت 1388, 08:52 صبح
private void checkDB()
{
string csMaster = "Data Source=.\sqlexpress;Initial Catalog=Master;Integrated Security=True";
SqlConnection con = new SqlConnection(csMaster);
SqlCommand com = new SqlCommand("select * from sys.databases where name= 'DBx'", con);
con.Open();
object obj = com.ExecuteScalar();
if (obj == null)
{
MessageBox.Show("بانک اطلاعاتی برنامه در پایگاه داده قرار ندارد \n لطفا تا قرارگیری آن کمی مننظر بمانید","خطا",MessageBoxButtons.OK,MessageBoxIcon.Error);
string strCmd = "EXECUTE sp_attach_db @dbname,@filename1";
com.CommandText = strCmd;
com.Parameters.Clear();
com.Parameters.AddWithValue("@dbname", "DBx");
com.Parameters.AddWithValue("@filename1", Application.StartupPath + @"\DataBase\DBx.mdf");
com.ExecuteNonQuery();

com.CommandText = "select * from sys.databases where name= 'DBx'";
obj = com.ExecuteScalar();
if (obj != null)
{
MessageBox.Show("بانک اطلاعاتی با موفقیت بارگزاری شد");
}
}
con.Close();
}