PDA

View Full Version : مبتدی: وصل شدن به پايگاه داده



jigily
چهارشنبه 05 اسفند 1388, 17:55 عصر
من به وسيله sqlconnection ميخوام به بانك اطلاعاتي وصل بشم اما نميدونم چرا نميشه؟
دستوري كه ميزنم اينه.
server=??;database=??;user id=??;password=??;
اين دستور اشتباهه؟يا مشكل از جاي ديگه اي هست..
بايد بگم كه از طريق مثلا textbox ميتونم به ديتابيس وصل بشم اما از طريق كد نميشه.؟

r00tkit
چهارشنبه 05 اسفند 1388, 18:17 عصر
http://barnamenevis.org/forum/showthread.php?p=917367#post917367

jigily
چهارشنبه 05 اسفند 1388, 20:49 عصر
نشد...هركاري ميكنم نميشه..:ناراحت:

r00tkit
چهارشنبه 05 اسفند 1388, 21:03 عصر
کد خودتو با اشکالش بنویس تا debug کنم

jigily
چهارشنبه 05 اسفند 1388, 21:38 عصر
کد خودتو با اشکالش بنویس تا debug کنم
من دارم با كتابي كه از نت دانلود كردم ياد ميگيرم ... و كد اون مينويسم...
publicpartialclassForm1 : Form
{
SqlConnection objconnection = newSqlConnection("server=localhost;database=pubs;" + "user id=sa;password=");
SqlDataAdapter objdataAdapter = newSqlDataAdapter();
DataSet objDataSet = newDataSet();

public Form1()
{
InitializeComponent();
}
privatevoid Form1_Load(object sender, EventArgs e)
{
objdataAdapter.SelectCommand = newSqlCommand();
objdataAdapter.SelectCommand.Connection = objconnection;
objdataAdapter.SelectCommand.CommandText =
"SELECT au_lname,au_fname,title,price" +
"FROM authors" +
"JOIN titleauthor ON authors.au_id=titleauthor.au_id " +
"JOIN titles ON titleauthor.title_id=titles.title_id"
+ "ORDER BY au_fname,au_lname";
objdataAdapter.SelectCommand.CommandType = CommandType.Text;
objconnection.Open();
objdataAdapter.Fill(objDataSet, "authors");
objconnection.Close();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = objDataSet;
dataGridView1.DataMember="authors";



}

اصلا خطا نميده فقط خروجي نشون نميده و وقتي دنبال خطاش ميگردم روي خط objconnection.open مياد...

nasime_shomal
چهارشنبه 05 اسفند 1388, 21:47 عصر
برای برقراری کانکشن از این دستور استفاده کن

connFormEzafe = new SqlConnection("user id = mohammad;" + "password=123;server = localhost\\sqlexpress;" +
"trusted_connection=yes;" + "database=dbKetabKhane;" + "connection timeout=30");
connFormEzafe.Open();
این کد رو از توی یکی از کارام برات کپی کردم اینو بزن درست میشه( البته اگه مشکل از کدت باشه). به جای محمد اسم ورود به ویندوزت رو بده بعد پسورد ورود به ویندوز رو بده اگه از اسکیوال اکسپرس استفاده میکنی برای سرورت اونو بده اسم دیتا بیست رو هم بده و این کد رو توی بدنه اصلی بنویس چون بعدا که میخوای جای دیگه با این کانکشن کار کنی بتونی ازش استفاده کنی.

SqlConnection connFormEzafe;

nasime_shomal
چهارشنبه 05 اسفند 1388, 21:52 عصر
راستی برای یوزرت پس گذاشتی؟

csharpprogramer88
چهارشنبه 05 اسفند 1388, 21:56 عصر
دوست من نام ديتابيس را در كانكشن استرينگ درست وارد كردي



("server=localhost;database=pubs;" +


كدهايي را كه مي فرستي بين تگ code(#) قرار بده تا خوانا باشه مشكلي داري سريع بگي بتونم جواب مي دم

csharpprogramer88
چهارشنبه 05 اسفند 1388, 21:57 عصر
دوست من نام ديتابيس را در كانكشن استرينگ درست وارد كردي



("server=localhost;database=pubs;" +


كدهايي را كه مي فرستي بين تگ code(#) قرار بده تا خوانا باشه مشكلي داري سريع بگي بتونم جواب مي دم

jigily
چهارشنبه 05 اسفند 1388, 21:59 عصر
[quote=nasime_shomal;918096]
بجز كد كجا ميتونه مشكل داشته باشه؟ بازم نشد...

nasime_shomal
چهارشنبه 05 اسفند 1388, 21:59 عصر
در ضمن شما اول همه کاراتو انجام میدی بعد کانکشنت رو اوپن میکنی!!! ببین شما همه کار با دیتا بیس کردی اونوقت تازه به اون بیچاره گفتی باز شو خوب معلومه ارور میده اول کانکشن رو اوپن کن بعد بقیه کاراتو انجام بده. در ضمن من معمولا اونجایی که شما کانکشنت رو تعریف میکنی کد دومی رو که بالا برات نوشتم، قرار میدم و بعد تو قسمت لود فورمم میام قسمت اول کد بالا رو مینویسم

jigily
چهارشنبه 05 اسفند 1388, 22:01 عصر
[quote=csharpprogramer88;918104]دوست من نام ديتابيس را در كانكشن استرينگ درست وارد كردي



("server=localhost;database=pubs;" +


اره درست وارد كردم... واقعا نميدونم چرا نميشه...

nasime_shomal
چهارشنبه 05 اسفند 1388, 22:05 عصر
اول از همه تو قسمت کدت من یه اشکال می بینم اون م همون قضیه اوپن کردنت بعد اتمام کارته جاش اشتباهه
بعد اینکه کانکشنت رو نوشتی پایینش کانکشنت رو اوپن کن در ضمن از چه sql ی استفاده میکنی؟ اینم مهمه چون باید نام سرورت رو درست بدی و در نهایت ممکنه توی درست کردن دیتا بیس مشکل داشته باشی یا اینکه کلا این sql قطع باشه. تا بحال تونستی کانکشن برقرار کنی؟

csharpprogramer88
چهارشنبه 05 اسفند 1388, 22:07 عصر
چون گفتي كتاب را از نت دانلود كردي مي پرسم آيا ديتابيس را خودت دست كردي

jigily
چهارشنبه 05 اسفند 1388, 22:08 عصر
اول از همه تو قسمت کدت من یه اشکال می بینم اون م همون قضیه اوپن کردنت بعد اتمام کارته جاش اشتباهه
بعد اینکه کانکشنت رو نوشتی پایینش کانکشنت رو اوپن کن در ضمن از چه sql ی استفاده میکنی؟ اینم مهمه چون باید نام سرورت رو درست بدی و در نهایت ممکنه توی درست کردن دیتا بیس مشکل داشته باشی یا اینکه کلا این sql قطع باشه. تا بحال تونستی کانکشن برقرار کنی؟
الان كاري كه گفتيد كردم يعني



privatevoid Form1_Load(object sender, EventArgs e)
{
objconnection= newSqlConnection("user id = sa;" + "password=123456;server =localhost;" +
"trusted_connection=yes;" + "database=pubs;");
objconnection.Open();
objdataAdapter.SelectCommand = newSqlCommand
();
درسته؟؟
از 2005.
اره گفتم بدون كد نويسي ميتونم به ديتابيس وصل بشم.

jigily
چهارشنبه 05 اسفند 1388, 22:11 عصر
چون گفتي كتاب را از نت دانلود كردي مي پرسم آيا ديتابيس را خودت دست كردي
نه ..فكر ميكنيد ماله اون باشه؟

nasime_shomal
چهارشنبه 05 اسفند 1388, 22:14 عصر
خوب از اونم حتما میتونه باشه. یه دور بگو ببینم چطور این دیتا بیس رو درست کردی؟

jigily
چهارشنبه 05 اسفند 1388, 22:18 عصر
خوب از اونم حتما میتونه باشه. یه دور بگو ببینم چطور این دیتا بیس رو درست کردی؟
اين ديتابيس خودم درست نكردم اما با اوني كه خودم درست كردم هم نشد...
خوب بدون كد يعني databases--new database--
بعد اسم ديتابيس ..بعد هم پسوندهاش..؟

jigily
چهارشنبه 05 اسفند 1388, 22:20 عصر
من كد وصل شدن به ديتابيس توي قسمت query كه مينويسم اجرا نميشه...
ربطي داره؟ از همش ايراد ميگيره...

nasime_shomal
چهارشنبه 05 اسفند 1388, 22:21 عصر
از طریق منوی view پنجره server explorer رو بیار روی دیتا کانکشن راست کلیک کن و گزینه اد نیو دیتابیس رو انتخاب کن و در کادری که ظاهر شده تو قسمت سرور آدرس سرورت رو بده مثلا من که از اکسپرس استفاده میکنم اینو میزنم localhost\sqlexpress بعد تو کادر پایینی اسم دیتا بیست رو بده بعد اوکی کن اونوقت دیتا بیس داری

nasime_shomal
چهارشنبه 05 اسفند 1388, 22:24 عصر
آقا جان یه لحظه بیا تو یاهوی بنده تا ببینیم مشکل چیه اگه حل شد جوابو بزار اینجا که خلق الله هم این همه مطلب رو بدونه نتیجه نخونده باشند. آدرس یاهوی من همونه که تو پرو فایلم نوشته

csharpprogramer88
چهارشنبه 05 اسفند 1388, 22:27 عصر
كاري را كه در پست بالاگفت انجام دادي

jigily
چهارشنبه 05 اسفند 1388, 22:27 عصر
از طریق منوی view پنجره server explorer رو بیار روی دیتا کانکشن راست کلیک کن و گزینه اد نیو دیتابیس رو انتخاب کن و در کادری که ظاهر شده تو قسمت سرور آدرس سرورت رو بده مثلا من که از اکسپرس استفاده میکنم اینو میزنم localhost\sqlexpress بعد تو کادر پایینی اسم دیتا بیست رو بده بعد اوکی کن اونوقت دیتا بیس داری
يك چيزي بگم ؟؟ پنجره server explorer ندارم

nasime_shomal
چهارشنبه 05 اسفند 1388, 22:30 عصر
خوب منم که بهت میگم برو تو view از اونجا server explorer رو انتخاب کن تا این پنجره بیاد

jigily
چهارشنبه 05 اسفند 1388, 22:32 عصر
اومدم ..كجائيد؟تو ياهو

nasime_shomal
چهارشنبه 05 اسفند 1388, 22:35 عصر
اومدم ..كجائيد؟تو ياهو
منو اد کن lordzarei آی دی خودتون رو هم بدید تا من اد کنم من اینویزیبلم ولی آن هستم

jigily
چهارشنبه 05 اسفند 1388, 23:43 عصر
بايد توي قسمت view از C# گزينه server explorer انتخاب كنيد بعد روي گزينه Data Connectionراست كليك بكنيد و گزينه creat new sql server database را انتخاب ميكني .
توي قسمت servername اينطوري كه من فهميدم بايد اسم سرورت بزني ماله من با اوني جواب داد كه توي managemenet studio براي وصل شدن به ديتابيس استفاده مي كردم..
و بعد از كد


SqlConnection connFormEzafe = new SqlConnection("user id = sa;" + "password=123456;server = computer1\\mysql;" +
"trusted_connection=yes;" + "database=foodis;" + "connection timeout=30");
connFormEzafe.Open
();
با تغيير قسمت هاي مختلف به ديتابيس وصل ميشيم..
يا علي.