PDA

View Full Version : سوال: خطا در باز کردن دیتابیس



h.rezaee
سه شنبه 22 اسفند 1391, 18:53 عصر
سلام به دوستان. بنده یه برنامه نوشتم که خیلی زیاد جدول داره!!!!!!!!!:لبخند:
بعد اول با استفاده از کد زیر به دیتابیسم متصل میشدم:

Data Source=localhost;Initial Catalog=epnotronsoft;Integrated Security=True

کاملا درست هم کار می کرد.:تشویق:
اما برای ساخت setup تو همین وبسایت یه مقاله خوندم و یه تاپیک که میگفت برای اضافه کردن دیتابیس به برنامه باید از طریق .\SQLEXPRESS وارد بشی که عملا کانکشن رو عوض کردم و طبق گفته های اون به صورت زیر در آوردم :

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Fajr.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

البته این کانکشن چون مستقیما تو خوده برنامه خطا میداد ، ترفند زدم ، گذاشتم تو یه تکس باکس و اون رو به برنامه اضافه کردم.:شیطان:
بعد از این چون کانکشن این شد، یه بار دیگه نشستم و دیتابیس رو طراحی کردم چون با این کانکشن نمی خوند.:گریه:
بعد از ساخت دیتابیس اون رو از فایل مربوط به sql server 2008 r2 کپی کردم و گذاشتم تو پوشه Fajr\bin\Debug یعنی کنار فایل .exe. !!!!!!!!!
بعد رفتم از بالا ( تصویر 1 ) data/Add new data source .... گزینه مربوط به اضافه کردن دیتابیس رو هم زدم . مراحلش رو ادامه دادم و تست کانکشن رو هم زدم با موفقیت انجام شد.:لبخند::تشویق:
بعد رفتم برنامه رو تست کردم که با خطای Invalid ...... ( عکسش پایین هست ) مواجه شدم.:ناراحت::ناراحت::گریه::گر یه::گریه::گریه:
حالا از شما می خوام کمکم کنید تا این مشکلم برطرف بشه و اینکه آیا حرکتی که زدم درسته یا نه ؟؟؟؟؟؟؟؟؟

البته این رو هم بگم عکس نحوه اتصال جداول رو هم براتون گذاشتم و همچنین کد های مربوط به insert کردن رو.
ممنون میشم اگه راهنمایی کنید.

h.rezaee
سه شنبه 22 اسفند 1391, 18:55 عصر
این هم کداش:

SqlConnection objconnection = new SqlConnection(textBoxX1.Text);
DataSet das = new DataSet();
DataView objdataview = new DataView();
SqlCommand com = new SqlCommand();


if (nametxt.Text == string.Empty & lnametxt.Text == string.Empty & fnametxt.Text == string.Empty & shnumtxt.Text == string.Empty)
{
MessageBox.Show("عبارت خود را وارد کنید.");
}
else
{

objconnection.Open();
com.Connection = objconnection;
com.CommandText = "Insert INTO nametbl " +
"(name, lname, fname) " +
"VALUES(@name, @lname, @fname);" +
"Insert INTO numtbl " +
"(shnum, mnum, birthday) " +
"VALUES(@shnum, @mnum, @birthday);" +
"Insert INTO phonetbl " +
"(phonenum, mobilenum) " +
"VALUES(@phonenum, @mobilenum);" +
"Insert INTO informationtbl " +
"(job, education, army) " +
"VALUES(@job, @education, @army);" +
"Insert INTO addresstbl " +
"(address) " +
"VALUES(@address);" +
"Insert INTO membertbl " +
"(dateozv, hozename, paygahname, filenum) " +
"VALUES(@dateozv, @hozename, @paygahname, @filenum);" +
"Insert INTO codetbl " +
"(biygnicode) " +
"VALUES(@biygnicode)" +
"Insert INTO maintbl " +
"(datesave) " +
"VALUES(@datesave)";
com.Parameters.AddWithValue("@name", nametxt.Text);
com.Parameters.AddWithValue("@lname", lnametxt.Text);
com.Parameters.AddWithValue("@fname", fnametxt.Text);
//Insert into NUMTBL
com.Parameters.AddWithValue("@shnum", shnumtxt.Text);
com.Parameters.AddWithValue("@mnum", mnumtxt.Text);
com.Parameters.AddWithValue("@birthday", yearbirthtxt.Text + '/' + monthbirthtxt.Text + '/' + datebirthtxt.Text);
//Insert into phonenum
com.Parameters.AddWithValue("@phonenum", phonenumtxt.Text);
com.Parameters.AddWithValue("@mobilenum", mobilenumtxt.Text);
//Insert into informationtbl
com.Parameters.AddWithValue("@job", jobtxt.Text);
com.Parameters.AddWithValue("@education", educationtxt.Text);
com.Parameters.AddWithValue("@army", armytxt.Text);
//Insert into addresstbl
com.Parameters.AddWithValue("@address", addresstxt.Text);
//Insert into membertbl
com.Parameters.AddWithValue("@dateozv", yearozvtxt.Text + '/' + monthozvtxt.Text + '/' + dateozvtxt.Text);
com.Parameters.AddWithValue("@hozename", hozenametxt.Text);
com.Parameters.AddWithValue("@paygahname", paygahnametxt.Text);
com.Parameters.AddWithValue("@filenum", filenumtxt.Text);
//Insert into biyganicode
com.Parameters.AddWithValue("@biygnicode", biyganinum.Text);
//Insert into membertbl
com.Parameters.AddWithValue("@datesave", labelX1.Text);


try
{
com.ExecuteNonQuery();
MessageBox.Show("13" + yearbirthtxt.Text + '/' + monthbirthtxt.Text + '/' + datebirthtxt.Text);
}
catch(SqlException sqlERR)
{
MessageBox.Show(sqlERR.Message);
}
}

manij_mhm
سه شنبه 22 اسفند 1391, 19:03 عصر
سلام پنجره خطا رو مربوط به mobilenum می دونه که توی جدولی که طراحی کردید i نداره و نوشته شده moblenum.

h.rezaee
چهارشنبه 23 اسفند 1391, 10:01 صبح
ممنون. حالال یه سوال دیگه ؟؟؟؟؟؟؟؟؟؟؟؟؟
چرا وقتی می خوام گزینه ی مربوط به جدول main رو که همشون bigint هستن، identity شون رو yes کنم اول yes میشن ولی بعد از این که save میکنم دوباره No میشه!!!!!!!!!!!! چرا؟
البته این رو هم بگم اول می شد اما الان نمیشه.