PDA

View Full Version : خطا در کانکشن استرنگ



reza_123
سه شنبه 18 شهریور 1393, 15:22 عصر
با سلام
من فیلم آموزش برنامه نویسی سه لایه و آموزش پروژه محور فروشگاه با سی شارپ رو دیدم
دقیقا خط به خط عینا مثل فیلم کد رو نوشتم ولی وقتی اجرا می کنم خطا میده
میره روی کاننکشن استرین و یه کادر باز میشه توش نوشته میشه
Data Source=Reza;Initial Catalog=3l_test;Integrated Security=True
یه بار از تو گرید ویو به صورت دیتا ست رفتم نشون داد ولی به صورت 3لایه این ارور رو میده
http://up.persianscript.ir/uploads/eedc-Capture.png

http://up.persianscript.ir/uploads/eedc-Untitled.png

(http://up.persianscript.ir/uploads/eedc-Untitled.png)
اینم ارورش
Object reference not set to an instance of an object.

عکسشم گذاشتم
بعدشم من از sql 2014 و vs 2012 استفاده میکنم
خواهشا یه جواب خوب بدین
مرسی

mreram
سه شنبه 18 شهریور 1393, 15:40 عصر
این orm واسه پروژه های بزرگ جواب میده واقعا؟؟
بهتره از لینک یا ADO.net EF استفاده کنی ...
@اضافه کن شاید جواب بده...


con.connectionstring="@data......"

aminmousavi
سه شنبه 18 شهریور 1393, 15:59 عصر
سلام دوست عزیز .
شما نمونه از con که داری بهش حافظه تخصیص ندادی (new نکردیش)
یا باید قبل از اجرای Connect متد DataAccess رو اجرا کنی .

reza_123
سه شنبه 18 شهریور 1393, 15:59 عصر
نه اینشکلی هم نشد
بازم به کانکشن استرنگ ارور میده

reza_123
سه شنبه 18 شهریور 1393, 16:15 عصر
یعنی چجوری ؟
من فیلم آموزش رو دیدم دقیقا همینو نوشت وصل شد
حالا من از sql 2014 استفاده میکنم و از vs 2012 این مشکلی ایجاد نمیکنه ؟
اینکد قسمت Al که توش یه کلاس درست کردم به نام دیتابیس
public class database {
SqlConnection con;
SqlCommand com;
SqlDataAdapter da;
DataTable dt;

public void DataAccess()


{
con = new SqlConnection();
com = new SqlCommand();
da = new SqlDataAdapter();
com.Connection = con;
da.SelectCommand = com;


}


public void connect()
{
con.ConnectionString = "Data Source=Reza;Initial Catalog=3l_test;Integrated Security=True";
con.Open();


}


public void disconnect()
{
con.Close();


}
public DataTable select(string query)
{
com.CommandText = query;
dt = new DataTable();
da.Fill(dt);
return dt;
}
public void docommand(string query)
{
com.CommandText = query;
com.ExecuteNonQuery();




}

mreram
سه شنبه 18 شهریور 1393, 16:17 عصر
con.ConnectionString=@"Data Source=sql;AttachDbFilename=C:\Users\MohammadReza\ Documents\test.mdf;Integrated Security=True";
اینکارو انجام دادی؟؟

mreram
سه شنبه 18 شهریور 1393, 16:22 عصر
اگه میتونی پروژت رو با دیتابیس آپلود کن ببینم مشکلش چیه از لحاظ کد مشکل نداره

reza_123
سه شنبه 18 شهریور 1393, 16:41 عصر
این فایل سی شارپ هست
http://up.persianscript.ir/uploads/58c5-WindowsFormsApplication3.zip (http://up.persianscript.ir/uploads/58c5-WindowsFormsApplication3.zip)
فقط دیتابیس رو نتونستم زیب کنم و آپ کنم

mreram
سه شنبه 18 شهریور 1393, 16:56 عصر
باید قبل از پر کردن دیتا گرید con رو new کنی قبلش این رو فراخونی کن
t.DataAccess();
اینطوری

test t = new test(); t.DataAccess();
dataGridView1.DataSource = t.select();

reza_123
سه شنبه 18 شهریور 1393, 17:19 عصر
این کار رو کردم ولی بازم نشد

aminmousavi
سه شنبه 18 شهریور 1393, 17:29 عصر
دوست عزیز اینجوری باید از این کلاس استفاده کنی :


database db = new database();
db.DataAccess();
db.connect();
dataGridView1.DataSource=db.select("SELECT * FROM myTable");
db.disconnect();

reza_123
سه شنبه 18 شهریور 1393, 18:21 عصر
سلام
مرسی
این کد رو وارد کردم نشون داد DataAccess();
برای چی اینطوری شد ؟
آخه تو فیلم آموزیشیش این کد را وارد نکرده بود

aminmousavi
سه شنبه 18 شهریور 1393, 18:37 عصر
فیلم شما رو بنده ندیدم
اما قبل از استفاده شما میبایست به con حافظه تخصیص دهید و گرنه همان ارروری که فرستاده بودید رو میده که میگه آبجکت شما مقدارش نال هست
احتمالا توی فیلم آموزش دهنده اشتباه کرده ! یا در جای دیگه متد دیتا اکسس رو اجرا کرده و به con حافظه تخصیص داده