PDA

View Full Version : مشکل با کانکشن استرینگ



sara90
سه شنبه 09 خرداد 1391, 22:39 عصر
سلام دوستان عزیز ببخشید من یه برنامه نوشتم فقط موقع اجرا برای ثبت اطلاعات این خطا رو میده لطفا کمک کنید و مشکلش رو بهم بگید ممنونم اینم عکس ارور87648

barnamenevisforme
سه شنبه 09 خرداد 1391, 23:24 عصر
سلام
همون طور که از تصویر پیداست در سمت چپ صفحه مشخصه که سرور شما به پایگاه داده متصل نشده.
طبق تصویر مورد رو چک کنید.باید هر دو در حالت run قرار داشته باشن.
البته در بخش project/properties هم میتونید در قسمت setting اتصالconnectionstringf رو تست کنید.

sara90
چهارشنبه 10 خرداد 1391, 22:48 عصر
سلام دوست عزیز من همین که برنامه رو اجرا می کنم database، disconnectمی شه و ضربدر می شه نمیدونم چیکار کنم ؟؟!!!!!

barnamenevisforme
پنج شنبه 11 خرداد 1391, 06:51 صبح
سلام
اول اینکه از طریق پنجره project/properties/settings رشته اتصال خودتون رو چک کنید.
87686
دوم


System.Data.SqlServerCe.SqlCeConnection con = new System.Data.SqlServerCe.SqlCeConnection(Properties .Settings.Default.matabConnectionString);
con.Open();

sasanrstm
پنج شنبه 11 خرداد 1391, 07:22 صبح
دوست خوبم شما كانكشن استرينگ رو از كجا بدست مياري وميزاري تو برنامت و كجاي برنامه ميزاري

cerezaei65
پنج شنبه 11 خرداد 1391, 08:43 صبح
منم عقیدم اینه که connection string رو بد تعریف کردی؟
چجوری بدستش آوردی؟
بهترین کار اینه که توی server explore دیتابیستو add کنی بعد توی پراپرتیسش connection string رو کپی کنی
به نظرم راحترین و مطمئن ترین راه هست

sara90
پنج شنبه 11 خرداد 1391, 09:48 صبح
سلام من تو قسمت name space ها using system.data.sqlclient تعریف می کنم بعد تو قسمت private
sql connection con=ne sql connection();
بعد عین تصویر connection string رو تعریف می کنم من قبلا همین کدها رو تو ویژوال استودیو2005 نوشتم مشکلی نداشت و برنامه ام درست کار می کرد ولی الان همین که به con.open()می رسه خطا میده من باید چیکار کنم تا فردا این پروژه رو باید به استادم تحویل بدم لطفا کمکم کنید ممنونم

cerezaei65
پنج شنبه 11 خرداد 1391, 10:35 صبح
پس احتمال داره توی یه فرم دیگت connection string رو open کردی و در آخر close نکردی
چک کن ببین تا به این فرمت برسی جایی به دیتابیس وصل شدی یا نه

omid_csh
پنج شنبه 11 خرداد 1391, 10:50 صبح
سلام
نسخه ای که شما دارید باهاش کار میکنید SQL Server Compact هستش که با بقیه نسخه های Sql Server فرق داره (یعنی باید از فضای نام System.Data.SqlServerCe به جای فضای نام System.Data.SqlClient استفاده کنید) . اگه میخواید از کلاس های موجود توی System.Data.SqlClient استفاده کنید اینجوری دیتابیس ایجاد کنید:
Add New Item > Service-based Database
چیزی که شما ایجاد کردید از نوع local Database بود.
موفق باشید.

sara90
پنج شنبه 11 خرداد 1391, 14:59 عصر
سلام دوستان عزیز من کارهایی که گفتید رو انجام دادم ولی نشد متاسفانه خود برنامه رو لطفا دانلود کنید هم در مورد برنامه وکدها نظرتون رو بگید هم ایرادشو ممنونم فقط من تا فردا باید اینو تحویل بدم متشکرم که کمکم می کنیداینم آی دی منه: mohammadi.sima@ymail.com

sara90
پنج شنبه 11 خرداد 1391, 15:24 عصر
سلام لطفا به من میل بزنید تا برنامه رو بفرستم مشکلم هنوز حل نشده نمیتونم با نام کاربریم هم وارد شم مشکل پیدا کرده ممنون میشم اگه برنامه رو یه نگاه بندازید ممنونم البته لینک رو فرستادم ولی اصلا هرچی می فرستم رو تو سایت نشون نمیده!! بازم ممنونم.
mohammadi.sima@ymail.com

Mahmoud.Afrad
پنج شنبه 11 خرداد 1391, 15:33 عصر
همونطور که در پست 9 گفته شده شما دیتابیس اشتباه به پروژه اضافه کردید. باید از طریق Add New Item > Service-based Database دیتابیس جدید ایجاد کنید و جداول رو ایجاد کنید و میتونید از این کانکشن استرینگ استفاده کنید
@"Data Source=.\SQLEXPRESS;AttachDbFilename=|datadirector y|\matab.mdf;Integrated Security=True;User Instance=True"

Mahyar.FF
پنج شنبه 11 خرداد 1391, 16:15 عصر
دوست عزیزمون omid_csh درست فرمودند، شما از فایل .sdf یا SQL Server Compact استفاده می کنید.
پس موارد زیر رو در نظر بگیرید:

1) استفاده از :
using System.Data.SqlServerCe;
2)

private void btnReg_Click(object sender, EventArgs e)
{
//SqlConnection con = new SqlConnection(Properties.Settings.Default.matabCon nectionString);
SqlCeConnection con = new SqlCeConnection(Properties.Settings.Default.matabC onnectionString);
SqlCeCommand cmd = new SqlCeCommand();
con.Open();
...
}

3) گذاشتن علامت @ داخل Quotation و گذاشتن مقدار آن داخل پرانتز (استفاده Parameter.Value و Parameter.Add بطور همزمان مجاز نیست)

cmd.Parameters.Add
("@illnumber", txtNumber.Text.Trim());
cmd.Parameters.Add
("@illname", txtName.Text.Trim()) ;
...


3) در دیتابیس Table ای بنام list وجود نداره که احتمالا خودتون برداشتید :تشویق:

barnamenevisforme
پنج شنبه 11 خرداد 1391, 23:54 عصر
سلام
مشکل برنامه شما رفع و به آدرس مربوطه فرستاده شد

sara90
جمعه 12 خرداد 1391, 02:10 صبح
ممنون از همه راهنمایی هاتون من الان دوتا مشکل دارم:

1-اینه که تو برنامه که دیتابیس رو حذف کردم دیگه add نمیتونم بکنم وتو برنامه های دیگه هم همینطوره باید دوباره نصب کنم ویژوال استودیو را؟

2- برای اضافه کردن فرم های این برنامه تو برنامه دیگه باید از existing item استفاده کنم دیگه؟ ولی بعضی از فرم ها وارد نمی شه دراین مورد توضیح بدین لطفا ممنونم.
http://s3.picofile.com/file/7396900535/11.png

barnamenevisforme
جمعه 12 خرداد 1391, 11:42 صبح
سلام
در مورد اضافه کردن فرم ها تو برنامه همون طور که خودتون گفتید باید از add existing item استفاده کنید.
ولی راه حل مشکل اضافه نشدن بعضی از فرم ها اینه که فایل مربوط به user code که با پسوند .cs هستند (مثلا add_ill.cs) رو از پروژه تصحیح شده به جای فایل های پروژه قبلی قرار بدید.بعد پروژه رو توی visual studio باز کنید.میمونه تنظیمات setting که در اون connection string تعریف شده بود.واسه اینکار هم میتونید در بخش project/matab properties/settings یه متغیر به نام matabConnectionString از نوع connectionstring اضافه کنید و مقدار اونو
Data Source=|DataDirectory|\matab.sdf قرار بدید.
در مورد مشکل اول که مطرح کردید،اگر ممکنه کمی توضیح بیشتر بدید.آیا هیچ database دیگه ای هم نمیتونید اضافه کنید؟
اگر اضافه کردن database رو مرحله به مرحله عکس بذارید شاید بشه بهتر متوجه مشکل شد.

sara90
جمعه 12 خرداد 1391, 13:18 عصر
ممنونم از همه دوستان وراهنمایی هاتون بخصوص از کاربر عزیز omid_csh تشکر ویژه می کنم مشکل برنامه من رو حل کردن امیدوارم موفق باشن ممنون وسپاسگذارم