PDA

View Full Version : مشکل در کدهای sqlconnection



mahdivita
سه شنبه 15 اردیبهشت 1394, 11:30 صبح
سلام
من کدهای زیر رو برای sqlconnection نوشتنم :
public SqlConnection con;
public SqlCommand com;
}
public string cs = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\CMS_ArtShop.mdf;Integrated Security=True;User Instance=True";

public void sqlconnect()
{

try
{
con = new SqlConnection(cs);
con.ConnectionString = cs;
com.Connection = con;
con.Open();


}
catch(Exception)
{
throw new Exception("متاسفانه اتصال به بانک برقرار نشد");
}
}

که وقتی میخوام insertکنم توی دیتابیس روی کد زیر ارور میده :
throw new Exception("متاسفانه اتصال به بانک برقرار نشد");

مشکل از چیه؟

Hamid2547
سه شنبه 15 اردیبهشت 1394, 11:50 صبح
ترای کچ و اکسپشن رو پاک کن، بعد اروری که میده رو بذار اینجا، این طرز ارور هندلینگ شما کاملا اشتباه هست، اکسپشن رو نباید اینطوری خفه کرد، اکسپشن رو وقتی باید گرفت که بدونید از چه نوعی هست، و در واقع بتونید کاری در موردش انجام بدید.

mahdivita
سه شنبه 15 اردیبهشت 1394, 12:03 عصر
خب میخوام وقتی اتصال برقرار نشد ارور بده
چجوری میشه؟

ضمنا اون کاری که گفتین رو کردم و ارور زیر رو میداد :
Object reference not set to an instance of an object.
و میومد روی کد زیر :
com.Connection = con;

Davidd
سه شنبه 15 اردیبهشت 1394, 13:12 عصر
شی com نمونه سازی نشده و null هست اول باید new بشه بعد به پراپرتی هاش مقدار بدی.
در ضمن دو خط con = new SqlConnection(cs); con.ConnectionString = cs; با هم معادل هستند!

mahdivita
سه شنبه 15 اردیبهشت 1394, 13:44 عصر
خب میخوام وقتی اتصال برقرار نشد ارور بده
چجوری میشه؟

http://barnamenevis
سه شنبه 15 اردیبهشت 1394, 13:58 عصر
خب میخوام وقتی اتصال برقرار نشد ارور بده
چجوری میشه؟

همین که try گذاشتین وقتی خطا بده پیغام میده

mahdivita
سه شنبه 15 اردیبهشت 1394, 14:03 عصر
پیغام رو چجوری نشون میده؟
وقتی try بود ارور داشت برنامه :(

mahdinili
سه شنبه 15 اردیبهشت 1394, 14:17 عصر
سلام

تو قسمت catch می تونی با ی messagebox نشونش بدی مثلا

try
{
con = new SqlConnection(cs);
con.ConnectionString = cs;
com.Connection = con;
con.Open();


}
catch(Exception ex)
{
MessageBox.Show(ex.message);
}

mammad_kami
سه شنبه 15 اردیبهشت 1394, 15:20 عصر
خب میخوام وقتی اتصال برقرار نشد ارور بده
چجوری میشه؟

ضمنا اون کاری که گفتین رو کردم و ارور زیر رو میداد :
Object reference not set to an instance of an object.
و میومد روی کد زیر :
com.Connection = con;

احتمال داره مشکلت بخاطر کانکشن استرینگ توی وب کانفیگ باشه یه بررسی بکن

mahdivita
چهارشنبه 16 اردیبهشت 1394, 00:55 صبح
کانکشن استرینگم اینه :
public string cs = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\CMS.mdf;Integrated Security=True;User Instance=True";

mahdinili
چهارشنبه 16 اردیبهشت 1394, 07:57 صبح
username و password رو وارد نکردی

string sqlcon=("Data Source="your pc name\\SQLEXPRESS";
UserID=sa;
Password=****;
Initial Catalog="+MyDatabase+";
IntegratedSecurity=True;");

mahdivita
چهارشنبه 16 اردیبهشت 1394, 11:21 صبح
باز هم همون ارور قبلی رو میده :(

mahdivita
پنج شنبه 17 اردیبهشت 1394, 00:07 صبح
کدهایی که نوشتم به صورت زیر هست :

public SqlConnection con;
public SqlCommand com;

public string cs = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\CMS.mdf;Integrated Security=True;User Instance=True ; User Id=sa; Password=1234;";

public void sqlconnect()
{


con = new SqlConnection(cs);
con.ConnectionString = cs;
com.Connection = con;
con.Open();



}
public void Disconnect()
{
con.Close();
}
public void sqlcommand(string Commands)
{
com = new SqlCommand();
com.ExecuteNonQuery();

}

mahdivita
پنج شنبه 17 اردیبهشت 1394, 13:59 عصر
کسی نیست؟؟؟؟؟؟؟

Davidd
پنج شنبه 17 اردیبهشت 1394, 14:19 عصر
دوست عزیز همانطور که گفتم (و توجه نکردی) شی com نمونه سازی نشده یعنی null هست. وقتی null باشه ینی هنوز وجود نداره چطوری نوشتی com.Connection = con; ؟؟
اول این خطارو رفع کن بعد مشخص میشه کانکشن استرینگ مشکل داره یا نه.
public void sqlconnect()
{

con = new SqlConnection(cs);
con.Open();

}
public void Disconnect()
{
con.Close();
}
public void sqlcommand(string Commands)
{
com = new SqlCommand();
com.Connection = con;
com.ExecuteNonQuery();

}

mahdivita
پنج شنبه 17 اردیبهشت 1394, 15:28 عصر
برای اضافه کردن هم کدهای زیر رو نوشتم :
public void add()
{
string q = "insert into Tbl_User (UserName , RealName , Password , UserType , RegisterDate , Email , Tel) values ('"+this.UserName+","+this.RealName+","+this.Password+","+this.UserType+","+this.RegisterDate+","+this.Email+","+this.Tel+"')";

con.sqlconnect();
con.sqlcommand(q);
con.Disconnect();
}

mahdivita
جمعه 18 اردیبهشت 1394, 15:58 عصر
up :گریه:

mammad_kami
چهارشنبه 23 اردیبهشت 1394, 05:28 صبح
کدهایی که نوشتم به صورت زیر هست :

public string cs = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\CMS.mdf;Integrated Security=True;User Instance=True ; User Id=sa; Password=1234;";

}

این کانکشن استرینگ مال لوکاله یا روی سرور؟ اگه مال سرور باشه مشکل داره