PDA

View Full Version : سوال: ارتباط با بانک اطلاعاتی در ASP.net



dezchilds
جمعه 12 خرداد 1391, 02:47 صبح
سلام دوستان من بسیار تازه کار هستم در ASP.NET و همین اولش هم به کلی مشکل برخوردم ، من دارم با C# کد نویسی پروژه سایتمو انجام میدم

string connectionString = "Data Source=(127.0.0.1);" + "Initial Catalog=Database1;" ;

SqlConnection conObj = new SqlConnection(connectionString);
conObj.Open();
string commandText = "insert into works(title,vaziat) values('ali','delshad')";
SqlCommand cmdObj = new SqlCommand(commandText, conObj);

cmdObj.ExecuteNonQuery();
conObj.Close();

این کد ها رو ببینید با این کد ها به دیتابیسم وصل میشم دیتابیسم هم Sql هست و یوزر و پسورد نداره ولی وقتی برنامه رو اجرا میکنم به مشکل برمیخورم و این ارور رو دریافت میکنم

Sqlexception was unhandled by user code

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server

دوستان ممنون میشم راهنماییم کنید

TeacherMath
جمعه 12 خرداد 1391, 10:25 صبح
کانکشن استرینگ ایراد داره.

Data Source=.;Initial Catalog=Database1;Integrated Security=True

dezchilds
جمعه 12 خرداد 1391, 21:29 عصر
سلام کانکشن استرینگ رو عوض کردم ولی تغیری نکرد لطفآ سورس برنامه رو که ضمیمه کردم یه نگاهی بکنید .
ممنون

Behrouz_Rad
جمعه 12 خرداد 1391, 21:41 عصر
برای اطلاع از Connection String پایگاه داده، بهترین کار این هست که از قسمت Server Explorer محیط Visual Studio با پایگاه داده ارتباط برقرار کنید. پس از ظاهر شدن نام پایگاه داده در لیست Server Explorer، بر روی اون کلیک راست کرده، گزینه ی Properties رو انتخاب کنید. در پنجره ی Properties، در آیتم Connection String، عبارت مورد نظر وجود داره. فقط در صورتی که پایگاه داده، کلمه ی عبور داره، به صورت ستاره نشان داده میشه که باید تصحیحش کنید.

موفق باشید.

boysilent
جمعه 12 خرداد 1391, 22:38 عصر
ببین دوست عزیز این کدها واسه وصل شدن به پایگاه داده هست با sql

اول این قسمت برای شناختن دستورات sql
using System.Data.SqlClient;
این قسمت کانکشن استرینگومیزاری "Data Source=.;Initial Catalog=school;Integrated Security=True"
SqlConnection connect = new SqlConnection("Data Source=.;Initial Catalog=school;Integrated Security=True");

SqlCommand command = new SqlCommand();
اتصالدساورات با پایگاه
command.Connection = connect;

نوشتن کوری
command.CommandText = "INSERT INTO teacher (name,family,code,codemelli,madrak)VALUES(@name,@f amily,@codee,@codemelli2,@madrakk)";
اینم برای مقابله با sql injection یا نفوذ هکر ها که باید بری یه سرچ در موردش بزنی
command.Parameters.AddWithValue("@name", txtname.Text);
command.Parameters.AddWithValue("@family", txtfamily.Text);
command.Parameters.AddWithValue("@codee", txtperseneli.Text);
command.Parameters.AddWithValue("@codemelli2", txtcodemelli.Text);
command.Parameters.AddWithValue("@madrakk", txtmadrak.Text);
بازکردن کانکشن
connect.Open();
اجرا کردن کل کوری
command.ExecuteNonQuery();
بستن کانکشن
connect.Close();

TeacherMath
شنبه 13 خرداد 1391, 09:18 صبح
اینو به Web.config اضافه کن:

<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Dat abase.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>



و اینو به عنوان کانکشن استرینگ قرار بده :

string connectionString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString()


دلیل اینکه ارور می داد این بود که شما دیتا بیس را روی کامپوترتون اتچ نکردین.البته از این روش نمی توان توی اینترنت استفاده کرد.