PDA

View Full Version : سوال: خطای System.NullReferenceException: Object reference not set to an instance of an object



shima2006
دوشنبه 21 تیر 1389, 11:22 صبح
سلام دوستان
کسی می دونه دلیل این پیغام خطا در کد زیر چیه؟


Object reference not set to an instance of an object



private void FilterTextBox_TextChanged(object sender, EventArgs e)
{
_myView.RowFilter = string.Format("name LIKE '{0}%'", textBox1.Text);
}

hossein_ignore
دوشنبه 21 تیر 1389, 12:33 عصر
احتمالا به خاطر خالی بودن textBox1 هست!
انجوری بنویس ببین بازم Error میده یا نه:

private void FilterTextBox_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text != null)
_myView.RowFilter = string.Format("name LIKE '{0}%'", textBox1.Text);
}

اگه برنامتو upload کنی شاید بهتر بتونم کمکت کنم

shima2006
دوشنبه 21 تیر 1389, 16:30 عصر
درست نشد:ناراحت:
بعد از اینکه تویه تکست باکس تایپ می کنم پیغام میده...

FastCode
دوشنبه 21 تیر 1389, 17:06 عصر
چون تنها چیزی که ممکنه خالی باشه==_myView

hossein_ignore
دوشنبه 21 تیر 1389, 18:00 عصر
اینجوری بنویس:

try
{
_myView.RowFilter = string.Format("name LIKE '{0}%'", textBox1.Text);
}
catch { }

FastCode
دوشنبه 21 تیر 1389, 18:15 عصر
اینجوری بنویس:

try
{
_myView.RowFilter = string.Format("name LIKE '{0}%'", textBox1.Text);
}
catch { }


واقعا" بده.
همیشه وقتی نمیفهمید مشکل چیه اینجوری مینویسید؟
اگر 10 ثانیه به کد نگاه کنی میفهمی مشکل همونه که من گفتم.
در ضمن اگر همون کسی که سوال پرسید هم 2 دقیقه به کد نگاه میکرد متوجه میشد که اگر mouse رو بیاره روی اون متغیر IDE مینویسه null.

hossein_ignore
پنج شنبه 24 تیر 1389, 17:04 عصر
واقعا" بده.
همیشه وقتی نمیفهمید مشکل چیه اینجوری مینویسید؟
اگر 10 ثانیه به کد نگاه کنی میفهمی مشکل همونه که من گفتم.
در ضمن اگر همون کسی که سوال پرسید هم 2 دقیقه به کد نگاه میکرد متوجه میشد که اگر mouse رو بیاره روی اون متغیر IDE مینویسه null.

FastCode جان! تو این تکه کد کوچیک اینجور نوشتن هیچ مشکلی ایجاد نمیکنه! اگه میکنه شما بگو تا یاد بگیریم . . .
اینجا زمانی که یک کدوم از اونها null باشه هیچ چیزی نباید اتفاق بیفته و با try اگه null باشه اتفاقی نمیفته! حالا اشکالش کجاس؟!

shima2006
جمعه 25 تیر 1389, 09:53 صبح
FastCode جان! تو این تکه کد کوچیک اینجور نوشتن هیچ مشکلی ایجاد نمیکنه! اگه میکنه شما بگو تا یاد بگیریم . . .
اینجا زمانی که یک کدوم از اونها null باشه هیچ چیزی نباید اتفاق بیفته و با try اگه null باشه اتفاقی نمیفته! حالا اشکالش کجاس؟!

به نظر من FastCode جان اصلا اعصاب ندارن ، من اگه بلد بودم که اینجا سوال نمی کردم
من مبتدیم اگه کسی جوابو میدونه میگه اگرم کسی دوست نداره جواب نمیده....دیگه این که کسی چیزی رو بلد نیست ، زدن نداره:لبخندساده:

exlord
جمعه 25 تیر 1389, 11:45 صبح
احتمالا به خاطر خالی بودن textBox1 هست!
[/code]
گاهی وقتها ..... نه همیشه جواب ندادن بهنر از جواب نادرست دادنه ...
textbox1.Text هیچ وقت این exception رو نمیده ... مگر اینکه خود textbox1=null باشه ...

try
{
_myView.RowFilter = string.Format("name LIKE '{0}%'", textBox1.Text);
}
catch { }


این یعنی پاک کردن صورت مساله نه حل کردنش .....
تنها reference که در اینجا به Object ای اشاره نمیکه _myView هستش ...
شما باید تو کدت break point بزاری و کدتو تو این حالت trace کنی و ببنی چرا _myView مقدارش null میشه ...

تو این تکه کد کوچیک اینجور نوشتن هیچ مشکلی ایجاد نمیکنه!
حالا فرض کن null بودن myview درست شد ولی بعدش یه exception دیگه داد و از اونجایی که داریم catch میکنیم ولی اطلاع نمیدیم .... برنامه درست کار نمیکنه ولی error ای هم نمیده ...
هر exception آی که catch میشه یا باید throw بشه یا log بشه و یا به کاربر نشون داده بشه ...
اینجا اگه myview امکان null شدن رو داره باید اینجوری بنویسی ...

if(_myview != null)
{
}
در غیر این صورت باید پیدا کنی که چرا myview مقدارش null هست ......

FastCode
جمعه 25 تیر 1389, 12:09 عصر
FastCodeحالا اشکالش کجاس؟!

اصل قضیه همینه.
به نظر من اگر بهترین کد رو هم توی try/catch بنویسی اشکال داره چون سدعت رو کم میکنه.
به خاطر همین من هیچ موقع از try/catch استفاده نمیکنم.و الان 10 دقیقه فکر کردم و نتونستم یک مورد پیدا کنم که مجبور شده باشم از try/catch استفاده کنم و همیشه فکر میکنم علت درست کردنش اینه که برنامه نویسهای VB به جای On Error Resume Next که شکل GOTO میمونه از try/catch استفاده کنن.

shima2006
جمعه 25 تیر 1389, 13:01 عصر
اصل قضیه همینه.
به نظر من اگر بهترین کد رو هم توی try/catch بنویسی اشکال داره چون سدعت رو کم میکنه.
به خاطر همین من هیچ موقع از try/catch استفاده نمیکنم.و الان 10 دقیقه فکر کردم و نتونستم یک مورد پیدا کنم که مجبور شده باشم از try/catch استفاده کنم و همیشه فکر میکنم علت درست کردنش اینه که برنامه نویسهای VB به جای On Error Resume Next که شکل GOTO میمونه از try/catch استفاده کنن.

مگه میشه همیشه همه ی خطاها رو پیش بینی کرد؟؟؟
بالاخره کد (مخصوصا کدی که با دیتابیس کار میکنه)به هر دلیلی ممکنه مشکلی پیدا کنه که برنامه نویس اون رو از قبل در نظر نگرفته ، در این صورت استفاده از Try Cash باز هم لزومی نداره؟؟؟
به نظر من که کار از محکم کاری عیب نمیکنه....

FastCode
جمعه 25 تیر 1389, 13:07 عصر
مگه میشه همیشه همه ی خطاها رو پیش بینی کرد؟؟؟
بالاخره کد (مخصوصا کدی که با دیتابیس کار میکنه)به هر دلیلی ممکنه مشکلی پیدا کنه که برنامه نویس اون رو از قبل در نظر نگرفته ، در این صورت استفاده از Try Catcsh باز هم لزومی نداره؟؟؟
به نظر من که کار از محکم کاری عیب نمیکنه....
این مشکل برنامه شماست.
برنامه ی من با 104 تا جدول و 100,000 سطر داده هنوز یک بار هم خطای دیتابیس نداده.
log هم موجوده.
اگر برنامه رو درست طراحی بکنید هیچ موقع به try/catch نیاز ندارید.
چیزی که باعث شد من چند ماه وقت بزارم و تمام اسپاگتی هام رو درست کنم یکی از پست های آقای موسوی بود که من از همینجا کمال تشکر رو از ایشون دارم.
شما هم اگر تلاش کنی میتونی برنامت رو درست کنی.

shima2006
جمعه 25 تیر 1389, 13:21 عصر
میشه لطف کنید و لینک اون پست رو برام بذارین؟!
بلکه منم بخونمش و یه روزی مثل شما Professional بشم:چشمک:

FastCode
جمعه 25 تیر 1389, 13:29 عصر
میشه لطف کنید و لینک اون پست رو برام بذارین؟!
بلکه منم بخونمش و یه روزی مثل شما Professional بشم:چشمک:
professional؟من تا این کلمه خیلی فاصله دارم.
پست نبود.دعوا بود.
برای خیلی وقت پیشه.
ولی چیزی که مهمه اینه که باید این چند تا صفحه رو بخونید:
http://stackoverflow.com/search?q=code+smells
http://stackoverflow.com/questions/380819/common-programming-mistakes-for-net-developers-to-avoid
http://stackoverflow.com/questions/423823/whats-your-favorite-programmer-ignorance-pet-peeve
این ها فق چند تا نمونه هستند که اگر توی برنامه هاتون بهشون توجه کنید 90 درصد این مشکلات رو هرگز نمیبینید.

fa.mk244
چهارشنبه 13 دی 1391, 11:45 صبح
سلام
چطور تو کد زیر این ارور رو حل کنم؟


WebBrowser wb = new WebBrowser();
wb.Navigate(txtaddr.Text);
char a;
bool b=wb.Document.Body.InnerText.Contains(a)//به این خط گیر میده


توضیح کد:
با wb به ی آدرسی navigate میکنم
حالا میخوام محتویاتش که فقط ی کاراکتره رو بخونم و استفاده کنم

mofid002006@gmail.com
چهارشنبه 13 دی 1391, 12:08 عصر
شما متغیر a رو تعریف کردی اما بهش مقداری ندادی به همین دلیل این متغیر هنوز به طور کامل ساخته نشده و اون خطا رو میده.
باید قبل از استفاده از این متغیر، بهش یه مقدار بدی.

مهرداد صفا
چهارشنبه 13 دی 1391, 12:32 عصر
سلام
چطور تو کد زیر این ارور رو حل کنم؟


WebBrowser wb = new WebBrowser();
wb.Navigate(txtaddr.Text);
char a;
bool b=wb.Document.Body.InnerText.Contains(a)//به این خط گیر میده


توضیح کد:
با wb به ی آدرسی navigate میکنم
حالا میخوام محتویاتش که فقط ی کاراکتره رو بخونم و استفاده کنم


سلام
صبر کنید تا WebBrowser صفحه را باز کند.
در واقع هنوز (زمانی که با این خطا رو به ر میشوید) Document و Body ای در کار نیست.
این کد را امتحان کنید:

WebBrowser wb = new WebBrowser();
wb.Navigate("http://barnamenevis.org");
char a = 'a';
int TenSecLater = System.Environment.TickCount + 10000;
while (Environment.TickCount < TenSecLater) { Application.DoEvents(); }//wait for 10 sec.
bool b = wb.Document.Body.InnerText.Contains(a);//به این خط گیر نمیده

البته بهتره که از رویداد DocumentCompleted استفاده کنی.

نیکناز
سه شنبه 01 اسفند 1391, 10:34 صبح
سلام
من یه کلاس نوشتم که از تکست باکس ارث بری می کنه . و اون باتنی (پاک کردن ) که کلیک می شه را با پراپرتی می گیره .
و به رویداد کلیک اون باتن ، تابع پاک کردن اون تکست باکس اضافه می شه .

من فک میکنم جایی که این کدا رو می نویسم اشتباه هست . یا ...
می شه نگاه کنید به برنامه من

100246

j_naroogha@yahoo.com
سه شنبه 01 اسفند 1391, 10:52 صبح
public MyTxt(IContainer container)
{
container.Add(this);

InitializeComponent();

CleanButton = new Button();
CleanButton.Click += new EventHandler(CleanTxt);

}
اینجوری اصلاح شد

نیکناز
سه شنبه 01 اسفند 1391, 20:08 عصر
اینطوری این ارور رفع می شه اما برنامه من همچنان اون کاری رو که باید انجام بده نمی ده . با کلیک روی باتن محتوای تکست باکس پاک نمی شه .

نیکناز
سه شنبه 01 اسفند 1391, 22:10 عصر
ببینید اینو می شه تو وی بی نوشت . من فقط نمی تونم تو C# بنویسم .
کد وی بی:
Imports


System.Windows.Forms

Public


Class textbox



Inherits Windows.Forms.TextBox



Private Sub CleanText() Handles _CleanButton.Click, Me.Click



Me.Text = ""



End Sub





Public WithEvents _CleanButton As button



Public Property CleanButton As button



Set(ByVal value As button)

_CleanButton = value



End Set



Get



Return _CleanButton



End Get



End Property

End


Class

saeedgholami
شنبه 05 اسفند 1391, 23:04 عصر
سلام دوستان
من هر وقت برنامم رو اجرا میکنم و میبندمش این خطا رو میده

100469

بعضی از فرم هام اینجوره
http://barnamenevis.org/images/misc/pencil.png

esafb52
شنبه 05 اسفند 1391, 23:26 عصر
دوست عزیز از یه نمونه ای استفاده کردی که به هیچ شی اشاره نکرده یا از کلاسی استفاده کردی و new نکردی ؟؟و از شی اون کلاس داری استفاده میکنی !!!

Ebrahim_Rayaneh
یک شنبه 27 اسفند 1391, 01:48 صبح
یه جدول داریم به اسم test دو تا فیلد داره به اسامی id,name و همچنین یه کومبوباکس داریم که پراپرتی های کومبوباکس را به صورت زیر در ایونت load فرم ، به جدول مربوطه متصل یا در اصطلاح بایند کردیم:

private void test_Load(object sender, EventArgs e)
{
SqlConnection Cnn = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=Commodity;Integrated Security=True;Pooling=False");
SqlDataAdapter DA = new SqlDataAdapter();
DataSet DS = new DataSet();
DA.SelectCommand = new SqlCommand();
DA.SelectCommand.Connection = Cnn;
DA.SelectCommand.CommandText = "select id,name from test";
DA.Fill(DS, "test");

cbNameComo.DataSource = DS.Tables["test"].DefaultView;
cbNameComo.DisplayMember = "name";
cbNameComo.ValueMember = "id";
}

خب در ایونت SelectedIndexChanged کومبوباکس مربوطه هم کدهای زیر رو اضافه میکنم:

private void cbNameComo_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text=((sender as ComboBox).SelectedValue as DataRowView)[0].ToString();
}


اما جایی که ارور زمان اجرا اتفاق می افته این کده:

label1.Text=((sender as ComboBox).SelectedValue as DataRowView)[0].ToString();

وقتی که فرم لود شده و یکی از آیتم های کومبوباکس رو انتخاب میکنم این خطا اتفاق می افته:
متن خطا: Object reference not set to an instance of an object.
در واقع کامپایلر داره به SelectedValue گیر میده!!

اگه کسی راهنمایی کنه ممنون میشم

RED-C0DE
یک شنبه 27 اسفند 1391, 19:54 عصر
شما 3 خط آخر رو (11 و 12 و 13) رو بصورت زیر جابجا کن:
cbNameComo.DisplayMember = "name";
cbNameComo.ValueMember = "id";
cbNameComo.DataSource = DS.Tables["test"].DefaultView;


یعنی قبل از اینکه DataSource مربوط ب کمبوباکس رو ست کنی ، ValueMember اش رو ست کن.
چون ب محض اینکه DataSource اش رو ست کنی، رویداد SelectedIndex_Changed رخ می ده و توی این رویداد شما خواستی SelectedValue مربوط ب کمبوباکس رو بگیری ک هنوز معلوم نیس چی توش هس چون خط 13 اجرا نشده

reza69
یک شنبه 08 اردیبهشت 1392, 23:28 عصر
سلام
من موقع گرفتن مقادیر از دیتا گرید این خطا رو میگیرم و دلیلشو نمیدونم.
از این کد خطا میگیره.

dataGridView9.Rows[i].Cells[0].Value.ToString());

اینم عنوان خطا

Object reference not set to an instance of an object.

Ghaem66
یک شنبه 08 اردیبهشت 1392, 23:33 عصر
مشکل از حلقه هست. اگه شرط رو کوچکتر مساوی گذاشتین مساوی رو بردارین

reza69
یک شنبه 08 اردیبهشت 1392, 23:39 عصر
نه حلقه مورد نداره

for (int i = 0; i < dataGridView9.Rows.Count; i++)

Ghaem66
یک شنبه 08 اردیبهشت 1392, 23:44 عصر
میشه کد رو کامل قرار بدین؟
راستی اصلا گرید هیچ مقداری داره؟

reza69
یک شنبه 08 اردیبهشت 1392, 23:48 عصر
میشه کد رو کامل قرار بدین؟
راستی اصلا گرید هیچ مقداری داره؟
مقدار داره اینم کد

for (int i = 0; i < dataGridView9.Rows.Count; i++)
{
try
{
SqlCommand com1 = new SqlCommand("insert into trfactor(namekala,codekala,ghvahed,codefactor,teda d) values(@a,@b,@c,@d,@e)", con);
com1.Parameters.AddWithValue("@a", dataGridView9.Rows[i].Cells[0].Value.ToString());

//check kardane vojoode code kala va jame kala
try
{
string sql2 = string.Format("SELECT * FROM tkala where codekala =" + Convert.ToInt32(dataGridView9.Rows[i].Cells[1].Value));
SqlDataAdapter da2 = new SqlDataAdapter(sql2, con);
DataSet ds2 = new DataSet();
da2.Fill(ds2, "tkala");
DataTable db2 = ds2.Tables["tkala"];
if (db2.Rows.Count == 0)
{
con.Close();
goto next1;
}
//kam kardane meghdare mojoodi kala az meghdare darkhasti kala
if (cnoefa4.Text == "فروش")
{
con.Open();
SqlCommand cmd4;
try
{
cmd4 = con.CreateCommand();
cmd4.CommandText = "update tkala set tedad=@a where codekala=" + dataGridView9.Rows[i].Cells[1].Value;
cmd4.Parameters.AddWithValue("@a", Convert.ToInt32(ds2.Tables[0].Rows[0]["tedad"]) - Convert.ToInt32(dataGridView9.Rows[i].Cells[2].Value));
con.Open();
cmd4.ExecuteNonQuery();
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
finally { con.Close(); }
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
next1: ;

com1.Parameters.AddWithValue("@b", Convert.ToInt32(dataGridView9.Rows[i].Cells[1].Value));
com1.Parameters.AddWithValue("@c", Convert.ToInt32(dataGridView9.Rows[i].Cells[3].Value));
com1.Parameters.AddWithValue("@d", Convert.ToInt32(dataGridView9.Rows[i].Cells[2].Value));
com1.Parameters.AddWithValue("@e", Convert.ToInt32(lblcodefa4.Text));
con.Open();
com1.ExecuteNonQuery();
con.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
finally { con.Close(); }
}

MessageBox.Show(".فاکتور با موفقیت ویرایش شد");

Ghaem66
دوشنبه 09 اردیبهشت 1392, 00:03 صبح
هدف شما اینه که اول چک کنید ببینید کالا از قبل وارد شده یا نه. اگه وارد شده بود مقدارشو کم کنه (ویرایش) و اگه وارد نشده بود اونو درج کنه (ثبت رکورد جدید). اگه اشتباه متوجه شدم بگین. اگه هدفتون همینه خیلی شلوغ شده کداتون. خیلی آسونتر و بدون این همه ترای کش میشه کدشو نوشت. اگه هدف دیگه ای دارید، بگین تا اگه شد راه حل بهتری ارائه کرد

reza69
دوشنبه 09 اردیبهشت 1392, 00:07 صبح
هدف شما اینه که اول چک کنید ببینید کالا از قبل وارد شده یا نه. اگه وارد شده بود مقدارشو کم کنه (ویرایش) و اگه وارد نشده بود اونو درج کنه (ثبت رکورد جدید). اگه اشتباه متوجه شدم بگین. اگه هدفتون همینه خیلی شلوغ شده کداتون. خیلی آسونتر و بدون این همه ترای کش میشه کدشو نوشت. اگه هدف دیگه ای دارید، بگین تا اگه شد راه حل بهتری ارائه کرد
نه در هر صورت درج باید بشه چه ثبت شده باشه چه نشده باشه اگه ثبت شده مقدارشو کم یا زیاد کنه مقدار انبارو میگم. حالا شما دلیل خطا رو بگید.

Ghaem66
دوشنبه 09 اردیبهشت 1392, 00:12 صبح
شما همون اول که رکورد جدید ثبت میکنین 5تا مقدار برای درج گذاشتین در صورتی که فقط یه پارامتر درج میشه. چرا اول همه پارامترا رو با هم درج نمیکنین؟

Mahmoud.Afrad
دوشنبه 09 اردیبهشت 1392, 00:20 صبح
سلام
من موقع گرفتن مقادیر از دیتا گرید این خطا رو میگیرم و دلیلشو نمیدونم.
از این کد خطا میگیره.

dataGridView9.Rows[i].Cells[0].Value.ToString());

اینم عنوان خطا

Object reference not set to an instance of an object.



چک کنید Value سلول null نباشه، سپس از tostring استفاده کنید.

reza69
دوشنبه 09 اردیبهشت 1392, 00:31 صبح
شما همون اول که رکورد جدید ثبت میکنین 5تا مقدار برای درج گذاشتین در صورتی که فقط یه پارامتر درج میشه. چرا اول همه پارامترا رو با هم درج نمیکنین؟
چرا فقط یه پارامتر ثبت میشه؟ متوجه نشدم
همه پارامترا با هم ثبت میشن دیگه

wolf_majid
دوشنبه 09 اردیبهشت 1392, 07:33 صبح
اگر دیتاگرید اتوماتیک سطر اضافه میکنه مطمئن بشید index درحال بررسی newRowIndex نباشه
یا مقادیر مورد بررسی null نباشن

reza69
دوشنبه 09 اردیبهشت 1392, 12:06 عصر
اگر دیتاگرید اتوماتیک سطر اضافه میکنه مطمئن بشید index درحال بررسی newRowIndex نباشه
یا مقادیر مورد بررسی null نباشن
در مورد null بودنش که مطمئنم که نال نیست و داخلش نام رو وارد کردم.
new rowindex رو چجوری چک کنم؟ تو خصوصیات دیتاگرید نبود.

wolf_majid
دوشنبه 09 اردیبهشت 1392, 13:25 عصر
for (int i = 0; i < dgvShow.Rows.Count; i++)
{
if (i != dgvShow.NewRowIndex)
{
dgvShow اسم دیتاگرید منه

mojtaba5
شنبه 28 اردیبهشت 1392, 12:20 عصر
برنامه درج ویرایش و حذف با linq هست.
درج رو انجام میده ولی برای ویرایش و حذف Exception میده.
اینم کدهام

ادیت:
private void button3_Click(object sender, EventArgs e)
{
var db = new DataClasses1DataContext();
int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => c.ID == m).Single();


QEdit.ID = int.Parse(textBox1.Text);
QEdit.Id_Kala =int.Parse( textBox2.Text);
QEdit.Name_Kala = textBox3.Text;
QEdit.Type = textBox4.Text;
QEdit.Size = int.Parse(textBox5.Text);
QEdit.Color = textBox6.Text;
QEdit.Unit_price = int.Parse(textBox7.Text);
QEdit.Number_Of = int.Parse(textBox8.Text);

db.SubmitChanges();
dataGridView1.DataSource = db.kalas;

}

حذف:
private void button4_Click(object sender, EventArgs e)
{
var db = new DataClasses1DataContext();
int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QDel = db.kalas.Where(c => c.ID == m);

if (QDel.Count() != 0)
{
db.kalas.DeleteOnSubmit(QDel.Single());
db.SubmitChanges();

dataGridView1.DataSource = db.kalas;
}

_behnam_
شنبه 28 اردیبهشت 1392, 12:25 عصر
datagrid هیچ ردیفی نداره واشه همین میگه null هستش

mojtaba5
شنبه 28 اردیبهشت 1392, 12:26 عصر
datagrid هیچ ردیفی نداره واشه همین میگه null هستش
یعنی چی دیتا گرید هیچ ردیفی نداره؟
گفتم برنامه درج رو به درستی انجام میده و ردیف هم داره.

morteza271
شنبه 28 اردیبهشت 1392, 12:28 عصر
خطاش مشخصه!
یا در گریدتون سطر خاصی انتخاب نشده و یعنی اینکه مقدار dataGridView1.CurrentRow برابر null هست
و یا اینکه مقدار ستون 0 از سطر انتخاب شده ی گرید null هست.

برای اینکه بفهمید کدومش برنامه رو تریس کنید و در این خط چک کنید و ببینید که کدوم یکی مقدارش null هستش.

mojtaba5
شنبه 28 اردیبهشت 1392, 12:30 عصر
خطاش مشخصه!
یا در گریدتون سطر خاصی انتخاب نشده و یعنی اینکه مقدار dataGridView1.CurrentRow برابر null هست
و یا اینکه مقدار ستون 0 از سطر انتخاب شده ی گرید null هست.

برای اینکه بفهمید کدومش برنامه رو تریس کنید و در این خط چک کنید و ببینید که کدوم یکی مقدارش null هستش.
چطوری تریس کنم؟

morteza271
شنبه 28 اردیبهشت 1392, 12:35 عصر
برای تریس کردن باید در خط مورد نظر یک برک پوینت بذارین.
و بعد برنامه رو با F5 اجرا کنید.
هر وقت که به اون خط برسه متوجه میشین.
و بعد با نگه داشتن موس بر روی متغیر خاص میتونید مقدارش رو مشاهده کنید.

salargham
شنبه 28 اردیبهشت 1392, 12:35 عصر
چطوری تریس کنم؟

با \\ كامنتش كن تا ببيني مشكل از كجاست.

morteza271
شنبه 28 اردیبهشت 1392, 12:37 عصر
اگه متوجه نشدین چطوری تریس کنید. این کدها رو قبل از اون خط که خطا میده بذارین و برنامه رو اجرا کنید.
بعد ببینید چه پیامی نشون میده.
if(dataGridView1.CurrentRow == null)
{
MessageBox.Show("CurrentRow is null");
return;
}
if(dataGridView1.CurrentRow.Cells[0].Value == null)
{
MessageBox.Show("Cell Value is null");
return;
}

morteza271
شنبه 28 اردیبهشت 1392, 12:40 عصر
با \\ كامنتش كن تا ببيني مشكل از كجاست.
مهندس جان چه ربطی به کامنت کردن داره آخه؟؟!!!
خطی که خطا میده مشخصه چرا باید کامنت بشه؟؟؟؟؟
تو رو خدا پاسخ های الکی ندین و اینقدر وقت دوستان رو تلف نکنید...(این جمله فقط خطاب به شما تنها نیست و خطاب به همه دوستانی هست که اینطور پاسخ هایی رو در جواب تایپیک ها میذارن!!!)

mojtaba5
شنبه 28 اردیبهشت 1392, 14:19 عصر
دوستان ممنون از راهنماییتون
مشکل حذف رو حل کردم ولی الان برای ویرایش ارور میگیره:

morteza271
شنبه 28 اردیبهشت 1392, 18:06 عصر
تا جاییکه من متوجه میشم مشکل اینه :
شما توی جدول کالاهاتون دو یا چند تا کالا با ID یکسان دارین.

خطا هم به این خاطره که عبارت این :
db.kalas.Where(c => c.ID = m)
چند کالا رو برمیگردونه در صورتی که باید حتم یک کالا رو برگردونه.

مگه این ID توی جدول کالا ستون اصلی نیست؟

_behnam_
شنبه 28 اردیبهشت 1392, 18:19 عصر
مهندس جان چه ربطی به کامنت کردن داره آخه؟؟!!!
خطی که خطا میده مشخصه چرا باید کامنت بشه؟؟؟؟؟
تو رو خدا پاسخ های الکی ندین و اینقدر وقت دوستان رو تلف نکنید...(این جمله فقط خطاب به شما تنها نیست و خطاب به همه دوستانی هست که اینطور پاسخ هایی رو در جواب تایپیک ها میذارن!!!)
اول اینکه هیچکس نه تنها در این تاپیک بلکه در تاپیک های دیگر (البته منظورم از هیچکس بچه هایی هست که تو تالار فعالیت دارن) پاسخ الکی نمیدن بلکه تجربیاتشون رو در اختیار دیگران قرار میدهند. دوم اینکه پاسخ هایی که به شما داده شد همه درست بوند. حالا یکی تجربش کمتر و یکی بیشتر به جای تشکر اینگونه جواب دوستان رو میدید؟
@ در مورد سوالتون :


دوستان ممنون از راهنماییتون
مشکل حذف رو حل کردم ولی الان برای ویرایش ارور میگیره: db.kalas.Where(c => c.ID == m)

c => c.ID == m یعنی چی؟
بگرد جایی که c بیشتر مساوی c.id مساوی با m ?
]چه معنی داره؟
داره میگه اوپراتورها نا معتبر استفاده کردید!!

mojtaba5
شنبه 28 اردیبهشت 1392, 19:07 عصر
تا جاییکه من متوجه میشم مشکل اینه :
شما توی جدول کالاهاتون دو یا چند تا کالا با ID یکسان دارین.

خطا هم به این خاطره که عبارت این :
db.kalas.Where(c => c.ID = m)
چند کالا رو برمیگردونه در صورتی که باید حتم یک کالا رو برگردونه.

مگه این ID توی جدول کالا ستون اصلی نیست؟
چرا ID کلید اصلی هست
اما دوتا کلید اصلی دیگه هم دارم.

mojtaba5
شنبه 28 اردیبهشت 1392, 19:38 عصر
دوستان چطور میتونم کاری بکنم که فیلد ID بطور اتوماتیک شماره دهی بشه؟
یعنی کاربر نتونه دستکاریش کنه. موقعی که داره اون سطر رو درج میکنه خودش مقدار بگیره.

مهدی هادیان2
شنبه 28 اردیبهشت 1392, 19:41 عصر
بسم الله الرحمن الرحیم

چرا ID کلید اصلی هست
اما دوتا کلید اصلی دیگه هم دارم.
با سلام
فکر میکنم باید اون 2 تا کلید اصلی دیگه هم تو شرط دخیل کنید؛ چون چند تا کد اصلی دارید طبیعتا ترکیب اون چند تا برای شما رکورد یکتایی ایجاد میکند مگر اینکه بخواهید تمام رکوردهایی که IDشون برابر m هست حذف کنید که بعید میدونم.
یه چیزی شبیه به کد زیر:
int m2 = int.Parse(dataGridView1.CurrentRow.Cells[1].Value.ToString());
var QDel = db.kalas.Where(c => (c.ID == m) && (c.Id_Kala==m2)).First();
موفق باشید.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 09:12 صبح
بسم الله الرحمن الرحیم

با سلام
فکر میکنم باید اون 2 تا کلید اصلی دیگه هم تو شرط دخیل کنید؛ چون چند تا کد اصلی دارید طبیعتا ترکیب اون چند تا برای شما رکورد یکتایی ایجاد میکند مگر اینکه بخواهید تمام رکوردهایی که IDشون برابر m هست حذف کنید که بعید میدونم.
یه چیزی شبیه به کد زیر:
int m2 = int.Parse(dataGridView1.CurrentRow.Cells[1].Value.ToString());
var QDel = db.kalas.Where(c => (c.ID == m) && (c.Id_Kala==m2)).First();
موفق باشید.
چرا Cells1 ؟؟
یعنی این خط کد رو علاوه بر int m که خودم تعریف کردم بزارم؟

مهدی هادیان2
یک شنبه 29 اردیبهشت 1392, 09:21 صبح
بسم الله الرحمن الرحیم

چرا Cells1 ؟؟
یعنی این خط کد رو علاوه بر int m که خودم تعریف کردم بزارم؟
با سلام
فرض کردم که مقدار kala_idتون توی Cells1دیتاگرید هست.
گفتم علاوه بر اون ID این هم مقایسه شود.
موفق باشید.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 09:57 صبح
من فیلد ID رو از دیتابیسم پاک کردم اما بازم توی برنامه ارور این رو میگیره که مقدار ID وجود نداره.

morteza271
یک شنبه 29 اردیبهشت 1392, 10:08 صبح
ول اینکه هیچکس نه تنها در این تاپیک بلکه در تاپیک های دیگر (البته منظورم از هیچکس بچه هایی هست که تو تالار فعالیت دارن) پاسخ الکی نمیدن بلکه تجربیاتشون رو در اختیار دیگران قرار میدهند. دوم اینکه پاسخ هایی که به شما داده شد همه درست بوند. حالا یکی تجربش کمتر و یکی بیشتر به جای تشکر اینگونه جواب دوستان رو میدید؟
دوست عزیز من نگفتم که الکی پاسخ میدین منظور من این بود که پاسخ شما اصلا ربطی به این بحث نداشت!!
خودتون بگین کامنت کردن اون سطر چه دخلی داره آخه؟؟؟؟!!!!!!!!!!

c => c.ID == m یعنی چی؟
بگرد جایی که c بیشتر مساوی c.id مساوی با m ?
]چه معنی داره؟
داره میگه اوپراتورها نا معتبر استفاده کردید!!
به این نوع دستورات میگن LINQ
بیشتر دقت کن دوست عزیز...

morteza271
یک شنبه 29 اردیبهشت 1392, 10:10 صبح
من فیلد ID رو از دیتابیسم پاک کردم اما بازم توی برنامه ارور این رو میگیره که مقدار ID وجود نداره.
ببین دوست عزیز همونطور که گفتم اون مشکل به این خاطر بود که خروجی اون دستور چند رکورد بود.
و همونطور که خودتون گفتین چند تا کلید اصلی دارین.
پس شما یا باید این چند کلید اصلی رو ترکیب کنید و یه کلید اصلی بسازین.
و یا اینکه طبق گفته ی یکی از دوستان همه ی کلیدهای اصلی رو هم توی شرط دخیل کنید.
تا خروجی اون دستور حتما یک رکورد بیشتر نباشه.
موفق باشید

mojtaba5
یک شنبه 29 اردیبهشت 1392, 10:13 صبح
ببین دوست عزیز همونطور که گفتم اون مشکل به این خاطر بود که خروجی اون دستور چند رکورد بود.
و همونطور که خودتون گفتین چند تا کلید اصلی دارین.
پس شما یا باید این چند کلید اصلی رو ترکیب کنید و یه کلید اصلی بسازین.
و یا اینکه طبق گفته ی یکی از دوستان همه ی کلیدهای اصلی رو هم توی شرط دخیل کنید.
تا خروجی اون دستور حتما یک رکورد بیشتر نباشه.
موفق باشید
درسته
الان 2 تا کلید اصلی دارم کمتر از این نمیتونه باشه
اما برنامه هنوز برای فیلد ID که حذف شده ایراد میگیره.

مهدی هادیان2
یک شنبه 29 اردیبهشت 1392, 10:30 صبح
بسم الله الرحمن الرحیم

من فیلد ID رو از دیتابیسم پاک کردم اما بازم توی برنامه ارور این رو میگیره که مقدار ID وجود نداره.
با سلام
شما بایستی اون دیاگرامتون رو آپدیت کنید تا مطابق با پایگاه داده شما بشه؛ گویا هنوز تغییرات اعمال نشده.
موفق باشید.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 10:31 صبح
بسم الله الرحمن الرحیم

با سلام
شما بایستی اون دیاگرامتون رو آپدیت کنید تا مطابق با پایگاه داده شما بشه؛ گویا هنوز تغییرات اعمال نشده.
موفق باشید.
درود
چطوری دیاگرام رو آپدیت کنم؟

مهدی هادیان2
یک شنبه 29 اردیبهشت 1392, 10:35 صبح
بسم الله الرحمن الرحیم

درود
چطوری دیاگرام رو آپدیت کنم؟
با سلام مجدد
فایل دیاگرامتون رو باز کنید؛ روش راست کلیک کنید گزینه Update ... رو داره.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 10:43 صبح
بسم الله الرحمن الرحیم

با سلام مجدد
فایل دیاگرامتون رو باز کنید؛ روش راست کلیک کنید گزینه Update ... رو داره.
منظورتون از فایل دیاگرام چیه؟ از کجا باید بیارمش؟

مهدی هادیان2
یک شنبه 29 اردیبهشت 1392, 11:00 صبح
بسم الله الرحمن الرحیم

منظورتون از فایل دیاگرام چیه؟ از کجا باید بیارمش؟
با سلام
همون فایل DataClasses1.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 11:16 صبح
الان به یه مشکل دیگه خوردم
من الان 2 تا کلید اصلی دارم
Id_kala و Color ، وقتی دو تا رکورد فیلد Id_kalaشون یکی باشه موقع ویرایش یا حذف همون ارور رو میده.
حالا چطور میتونم اون شرط رو برای دو تا فیلد بزارم که درست بشه؟

مهدی هادیان2
یک شنبه 29 اردیبهشت 1392, 11:26 صبح
الان به یه مشکل دیگه خوردم
من الان 2 تا کلید اصلی دارم
Id_kala و Color ، وقتی دو تا رکورد فیلد Id_kalaشون یکی باشه موقع ویرایش یا حذف همون ارور رو میده.
حالا چطور میتونم اون شرط رو برای دو تا فیلد بزارم که درست بشه؟
لطفا یک بار دیگه تاپیک 15 رو بخونید.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 11:39 صبح
var QDel = db.kalas.Where(c => (c.Id_Kala==m2)&&(c.Color==m)).First();
وقتی این کد رو میزنم از پرانتز دوم که c.Color==m باشه این ارور رو میگیره: Operrator == cannot be applied to operands of type string and int

morteza271
یک شنبه 29 اردیبهشت 1392, 12:05 عصر
متن خطاش رو بخونید خیلی تابلوئه!!!!
متغیر m شما از نوع int هستش و ستون color از نوع String
پس نمیشه اینطوری باهم مقایسشون کنی.

اینطوری بنویس :
c.Color==m.ToString()

mojtaba5
یک شنبه 29 اردیبهشت 1392, 12:22 عصر
متن خطاش رو بخونید خیلی تابلوئه!!!!
متغیر m شما از نوع int هستش و ستون color از نوع String
پس نمیشه اینطوری باهم مقایسشون کنی.

اینطوری بنویس :
c.Color==m.ToString()
درستش کردم
الان برای ویرایش این ارور رو میده: Sequence contains no elements

morteza271
یک شنبه 29 اردیبهشت 1392, 12:36 عصر
بازم از متن خطا مشخصه که دستور مورد نظر خروجی نداره!!!
به این دستور خودتون دقت کنین :
var QDel = db.kalas.Where(c => (c.Id_Kala==m2)&&(c.Color==m.ToString())).First();
وقتی توی این دستور خطای ذکر شده رو میده یعنی اینکه توی جدول هیچ رکوردی نیست که دو شرط رو همزمان داشته باشه!
یعنی هیچ رکوردی نیست که ستون Id_Kala اون برابر m2 باشه و همچنین ستون Color اون برابر m باشه.

متوجه شدین؟
برای اینکه بفهمین دلیلش چیه بهترین روش همونی هست که قبلا بهتون گفتم : استفاده از تریس کردن برنامه

برنامه رو تریس کنید ببینید مقدارهای که در متغیرهای m2 و m هستن واقعا در یک رکورد به طور همزمان هستن یا نه.
موفق باشید

mojtaba5
یک شنبه 29 اردیبهشت 1392, 12:38 عصر
دستورم برای ویرایش و حذف اینه، اون بالایی اشتباه بود:

int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==m.ToString()))).First();




پس با وجود 2 تا کلید اصلی چه شرطی باید بزارم برای ویرایش و حذف ؟

morteza271
یک شنبه 29 اردیبهشت 1392, 12:46 عصر
ببینید دستورتون درسته ولی مقادیری که دارین برای شرط میذارین اشتباهه!
مثلا الان شما مطمئنید که رکورد مورد نظر شما هم ستون Id_Kala اون و هم ستون Colot مقدارشون یکی هست و برابر مقدار m ؟؟؟؟؟؟

به نظرم شما باید اینطوری بنویسید :
int Id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string MyColot = dataGridView1.CurrentRow.Cells[1].Value.ToString();
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==MyColot))).First();

فقط در دستورهای اول و دوم مطمئن بشید که شماره ستون مربوط به ستون مورد نظر باشه.
و البته به جای شماره من توصیه میکنم از نام ستون استفاده کنید، به این صورت :
string MyColot = dataGridView1.CurrentRow.Cells["CellName"].Value.ToString();

علی متقی پور
یک شنبه 29 اردیبهشت 1392, 13:27 عصر
سلام به همه

من کل تاپیک رو دیدم. مرتضی جان (morteza271 (http://barnamenevis.org/member.php?95103-morteza271)) چی کشیدی تو داداش. کاش منم صبر شما رو داشتم.

دوستان محبت کنن خودشونم کمی تلاش و خلاقیت به خرج بدن تا کسائیکه پاسخ سوالات رو میدن اینقد اذیت نشن.

آقا مجتبای گل شما هم کد نویسیتون کلا غلطه دوست عزیز.
بنظر من بهتره که خیلی باز تر کد بنویسید تا بهتر متوجه شید اشکال کارتون گذاشت. بعدا اگر خاستید کدتون حرفه ای تر شه خلاصش کنید.

مثلا بجای این کدی که گذاشتید :


int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==m.ToString()))).First();



بنویسید:



var CellValue = dataGridView1.CurrentRow.Cells[0].Value;

var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();

mojtaba5
یک شنبه 29 اردیبهشت 1392, 15:06 عصر
سلام به همه

من کل تاپیک رو دیدم. مرتضی جان (morteza271 (http://barnamenevis.org/member.php?95103-morteza271)) چی کشیدی تو داداش. کاش منم صبر شما رو داشتم.

دوستان محبت کنن خودشونم کمی تلاش و خلاقیت به خرج بدن تا کسائیکه پاسخ سوالات رو میدن اینقد اذیت نشن.

آقا مجتبای گل شما هم کد نویسیتون کلا غلطه دوست عزیز.
بنظر من بهتره که خیلی باز تر کد بنویسید تا بهتر متوجه شید اشکال کارتون گذاشت. بعدا اگر خاستید کدتون حرفه ای تر شه خلاصش کنید.

مثلا بجای این کدی که گذاشتید :


int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==m.ToString()))).First();



بنویسید:



var CellValue = dataGridView1.CurrentRow.Cells[0].Value;

var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();



میشه بگید کجای کارم کلا اشتباه بوده؟
در ضمن فکر نمیکنم همه کسایی که توی این سایت هستن از توی شکم مادرشون برنامه نویس به دنیا اومدن.
همه ما اینجا جمع شدیم تا از هم چیز یاد بگیریم و برنامه نویسمون رو بهتر کنیم.
منم قبول دارم برنامه نویسیم خوب نیست ، اما اومدم تاپیک زدم سوال میکنم تا یاد بگیرم، وگرنه میتونستم مث خیلی های دیگه از روی پروژه هایی که هست کپی بکنم.

A_2006
یک شنبه 29 اردیبهشت 1392, 15:40 عصر
کاش میشد تو شکم مادر برنامه نویس می شدیم.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 15:42 عصر
var CellValue = dataGridView1.CurrentRow.Cells[0].Value;

var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();



جناب a_mottaghi_pour کد بالای شما رو هم گذاشتم این ارور رو گرفت: Object reference not set to an instance of an object.

mojtaba5
یک شنبه 29 اردیبهشت 1392, 15:55 عصر
ببینید دستورتون درسته ولی مقادیری که دارین برای شرط میذارین اشتباهه!
مثلا الان شما مطمئنید که رکورد مورد نظر شما هم ستون Id_Kala اون و هم ستون Colot مقدارشون یکی هست و برابر مقدار m ؟؟؟؟؟؟

به نظرم شما باید اینطوری بنویسید :
int Id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string MyColot = dataGridView1.CurrentRow.Cells[1].Value.ToString();
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==MyColot))).First();

فقط در دستورهای اول و دوم مطمئن بشید که شماره ستون مربوط به ستون مورد نظر باشه.
و البته به جای شماره من توصیه میکنم از نام ستون استفاده کنید، به این صورت :
string MyColot = dataGridView1.CurrentRow.Cells["CellName"].Value.ToString();

فکر کنم میخواستید این دستور رو بگید:

int id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string mycolor = dataGridView1.CurrentRow.Cells[1].Value.ToString();

اما واسه اینم ارور میگیره.

مهدی هادیان2
یک شنبه 29 اردیبهشت 1392, 16:32 عصر
نمیدونم مشکلش چیه؟
به جای First() از FirstOrDefault() هم استفاده کردید باز ارور داد؟

morteza271
یک شنبه 29 اردیبهشت 1392, 16:43 عصر
فکر کنم میخواستید این دستور رو بگید:

int id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string mycolor = dataGridView1.CurrentRow.Cells[1].Value.ToString();

اما واسه اینم ارور میگیره.

راستش دیگه نمیدونم چی بگم هرچی میگم انگاری متاسفانه منظورمو متوجه نمیشین!!!
شما اگه مواردی که گفتم رو انجام میدادین صد در صد مشکلتون تا الان رفع شده بود!
ولی فکر کنم قبل اینکه توضیحات من و بقیه دوستان رو انجام بدین دوباره میاین سوالتون رو ادامه میدین!اینطوری به نتیجه نمیرسین!!
اگه میخواین کمکتون کنیم و امکانش هست لطف کنید کل کد اون توابع رو بذارین اینجا...
موفق باشید

morteza271
یک شنبه 29 اردیبهشت 1392, 17:44 عصر
کل برنامتون رو با پیام خصوصی برام فرستادین و منم فقط فرمتون رو دیدم!ولی اجرا نکردم چون بانکش رو نتونستم اتچ کنم.

حالا من یه سوال دارم :
الان توی گرید شما که به شکل زیر هم هست کدوم ستون دبرگیرنده ی Id هست و کدوم ستون دربرگیرنده ی Color ؟؟؟؟؟
104388

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

علی متقی پور
یک شنبه 29 اردیبهشت 1392, 18:03 عصر
میشه بگید کجای کارم کلا اشتباه بوده؟
در ضمن فکر نمیکنم همه کسایی که توی این سایت هستن از توی شکم مادرشون برنامه نویس به دنیا اومدن.
همه ما اینجا جمع شدیم تا از هم چیز یاد بگیریم و برنامه نویسمون رو بهتر کنیم.
منم قبول دارم برنامه نویسیم خوب نیست ، اما اومدم تاپیک زدم سوال میکنم تا یاد بگیرم، وگرنه میتونستم مث خیلی های دیگه از روی پروژه هایی که هست کپی بکنم.



var CellValue = dataGridView1.CurrentRow.Cells[0].Value;

var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();



جناب a_mottaghi_pour کد بالای شما رو هم گذاشتم این ارور رو گرفت: Object reference not set to an instance of an object.

فدات شم چرا ناراحت میشی؟
من فقط گفتم که باید بیشتر تلاش کنی و خلاقیت به خرج بدی.
تاریخ عضویتمون تو تالار تقریبا یکیه.اما سایر آمارهامون رو ببین که چقدر متفاوته. شما بیشتر پست دادی، کمتر تشکر کردی و خیلی کمتر تشکر شدی. این بخوبی نشون میده که شما بیشتر سوال کردی تا خواننده مطالب مفید باشی.

اینکه عرض کردم کدت کلا غلطه بخاطر اینه که هیچ تفکیکی بین کدهات وجود نداره. کدی که شما برای کوئری گرفتن مینویسی نباید داخل کدی باشه که شما داری اطلاعات رو فرم میخونی. برنامه باید دارای لایه بندی باشه. البته حالا بحث این تاپیک این نیست ولی اگر شما از ابتدا اصولی برنامه رو بنویسی خیلی راحت تر میشه دیباگش کرد و اشکالات احتمالش رو برطرف کرد.
این کدی که من خدمتتتون دادم ترجمه کد خود شما به زبانی بهتر بود و خب طبیعیه که بازم ارور میده. منکه نمیدونم برنامه شما چیه و فقط چیزی که فهمیدم اینه که ظاهرا CurrentRow را Null حساب میکنه که تنها علت این مساله فقط و فقط نداشتن row یا انتخاب نشدنشه.
بنظر من ممکنه شما از دیتا بایندینگ استفاده کردهب اشید و این کدتون قبل از بایند شدن باشه وب رای همین ارور بده. بهر حال اگر از همون اول کد رو کامل بذارید همه دوستان میتونن اشکالش رو بگن.

دوست خوبم همون پیش فرض ذهنی شما رد زدن تاپیک غلط بوده. شما گفتی "برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟" و این باعث میشه بی جهت گاها مجبور باشی از کدت دفاع کنی.

دوست خوبم منم مثه خودتم و فکر نکنم دارم از بالا به پائین نگاهت میکنم. فرق من با شما در اینه که شاید برام تلاش کردن برای حلل مشکلم خیییییییییییییلی ساده تر از تاپیک زدن و پست دادن باشه. گاهی وقتها خوبه که ما مغرور باشیم و بگیم باید این شمکلم رو خودم هر جور شده رفع کنم.

بهر حال امیدوارم موفق باشی :)

علی متقی پور
یک شنبه 29 اردیبهشت 1392, 18:06 عصر
اگر صبر داشته باشی من بزودی یک برنامه ساده ویندوزی با gridview مینویسم و برات همینجا میذارم تا کدش رو ببینی شاید بدتردت خورد :)

morteza271
یک شنبه 29 اردیبهشت 1392, 20:01 عصر
فدات شم چرا ناراحت میشی؟
من فقط گفتم که باید بیشتر تلاش کنی و خلاقیت به خرج بدی.
تاریخ عضویتمون تو تالار تقریبا یکیه.اما سایر آمارهامون رو ببین که چقدر متفاوته. شما بیشتر پست دادی، کمتر تشکر کردی و خیلی کمتر تشکر شدی. این بخوبی نشون میده که شما بیشتر سوال کردی تا خواننده مطالب مفید باشی.

اینکه عرض کردم کدت کلا غلطه بخاطر اینه که هیچ تفکیکی بین کدهات وجود نداره. کدی که شما برای کوئری گرفتن مینویسی نباید داخل کدی باشه که شما داری اطلاعات رو فرم میخونی. برنامه باید دارای لایه بندی باشه. البته حالا بحث این تاپیک این نیست ولی اگر شما از ابتدا اصولی برنامه رو بنویسی خیلی راحت تر میشه دیباگش کرد و اشکالات احتمالش رو برطرف کرد.
این کدی که من خدمتتتون دادم ترجمه کد خود شما به زبانی بهتر بود و خب طبیعیه که بازم ارور میده. منکه نمیدونم برنامه شما چیه و فقط چیزی که فهمیدم اینه که ظاهرا CurrentRow را Null حساب میکنه که تنها علت این مساله فقط و فقط نداشتن row یا انتخاب نشدنشه.
بنظر من ممکنه شما از دیتا بایندینگ استفاده کردهب اشید و این کدتون قبل از بایند شدن باشه وب رای همین ارور بده. بهر حال اگر از همون اول کد رو کامل بذارید همه دوستان میتونن اشکالش رو بگن.

دوست خوبم همون پیش فرض ذهنی شما رد زدن تاپیک غلط بوده. شما گفتی "برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟" و این باعث میشه بی جهت گاها مجبور باشی از کدت دفاع کنی.

دوست خوبم منم مثه خودتم و فکر نکنم دارم از بالا به پائین نگاهت میکنم. فرق من با شما در اینه که شاید برام تلاش کردن برای حلل مشکلم خیییییییییییییلی ساده تر از تاپیک زدن و پست دادن باشه. گاهی وقتها خوبه که ما مغرور باشیم و بگیم باید این شمکلم رو خودم هر جور شده رفع کنم.

بهر حال امیدوارم موفق باشی :)
توضیحات دوستمون واقعا برای افراد تازه کاری مثل من خیلی خوب و مفید هست.
امیدوارم بقیه افراد مبتدی(مثل من) از این نکاتی که ایشون گفتن بهره ببرن.

با تشکر فراوان از آقای متقی پور و آرزوی موفقیت برای شما...

علی متقی پور
یک شنبه 29 اردیبهشت 1392, 23:03 عصر
توضیحات دوستمون واقعا برای افراد تازه کاری مثل من خیلی خوب و مفید هست.
امیدوارم بقیه افراد مبتدی(مثل من) از این نکاتی که ایشون گفتن بهره ببرن.

با تشکر فراوان از آقای متقی پور و آرزوی موفقیت برای شما...

شما لطف داری عزیزم
من خودمم مبتدی هستم :)
داشتم برای دوستمون کدهای کار با گرید را مینوشتم علاقه مند شدم که اصلا یه آموزش در این زمینه بنویسم و تو یه تاپیک جدا بذارم تا همه بخونن.
بهرحال ما مبتدی ها هم دل داریم و میتونیم تاپیک آموزشی در حد خودمون بذاریم. مگه نه؟ :)
امیدوارم مشکل آقا مجتبی و آقا مجتبی ها رو هم حل کنه.
ایشالا بزودی...

mojtaba5
یک شنبه 29 اردیبهشت 1392, 23:20 عصر
کل برنامتون رو با پیام خصوصی برام فرستادین و منم فقط فرمتون رو دیدم!ولی اجرا نکردم چون بانکش رو نتونستم اتچ کنم.

حالا من یه سوال دارم :
الان توی گرید شما که به شکل زیر هم هست کدوم ستون دبرگیرنده ی Id هست و کدوم ستون دربرگیرنده ی Color ؟؟؟؟؟
104388

شما همینو به من بگین کد کامل ویرایش رو بهتون میدم.....
درود
توی این برنامه،شماره کفش Id_kala هست و رنگ Color .
ویرایش و حذف برنامم کار نمیکرد.

morteza271
یک شنبه 29 اردیبهشت 1392, 23:49 عصر
درود
توی این برنامه،شماره کفش Id_kala هست و رنگ Color .
ویرایش و حذف برنامم کار نمیکرد.
خوب دیگه پس مشخصه مشکل کجاس!!!
اول اینکه آخه شما چرا شماره کفش و رنگ رو گذاشتین کلید اصلی؟؟؟؟ مگه امکانش نیست که تکراری بشه؟
شما یه ستون دیه به جدولت اضافه کن مثلا با نام ID بعد اون کلید اصلی و Auto Increment بذار تا خودش اتوماتیک مقدار دهی بشه.
و برای حذف و ویرایش هم فقط از همین ستون استفاده کن چون دیگه همیشه منحصربه فرد خواهد بود.

حالا مشکل کد الانتون :
بعدشم پسر خوب مگه شماره ستون رنگ 1 هست؟؟؟
آخه چرا هر کدی که دوستان میذارن رو کپی میکنی توی برنامت؟؟ تو باید شماره ستون رو هم عوض میکردی که نکردی.
اگه یادت باشه توی یکی از پست ها گفتم که توصیه میکنم به جای شماره ستون بهتره اسم ستون رو بذارین. واسه همچین روزی میگفتم!!!

در اصل باید بگم از صبح تا الان ما رو سرکار گذاشتی!!!!!!!!!!!!!! برو حالشو ببر.............

mojtaba5
یک شنبه 29 اردیبهشت 1392, 23:51 عصر
من قصد جسارت نداشتم آقا مرتضی اگه شما یا هر کدوم از دوستان ناراحت شدن ببخشید.

morteza271
یک شنبه 29 اردیبهشت 1392, 23:52 عصر
شما لطف داری عزیزم
من خودمم مبتدی هستم :)
داشتم برای دوستمون کدهای کار با گرید را مینوشتم علاقه مند شدم که اصلا یه آموزش در این زمینه بنویسم و تو یه تاپیک جدا بذارم تا همه بخونن.
بهرحال ما مبتدی ها هم دل داریم و میتونیم تاپیک آموزشی در حد خودمون بذاریم. مگه نه؟ :)
امیدوارم مشکل آقا مجتبی و آقا مجتبی ها رو هم حل کنه.
ایشالا بزودی...

اتفاقا خیلی خوبه اگه بتونید آموزش هم بذارین و البته بتونید تمومش کنین.
چون توی این سایت مرسوم شده هرکی میاد یه آموزش میذاره و بعد چند روز میمونه رو هوا...
البته خود منم یکی از همون افراد شدم متاسفانه!!!(چند وقت پیش یه تایپیک آموزشی قرار دادم و بعد از چند پست دیگه بعدش نتونستم ادامه بدم به دلیل مشغله زندگی و ... و فقط یه پست گذاشتم و از دوستان معذرت خواهی کردم)
امیدوارم شما بتونید آموزش رو شروع و از همه مهتر تمومش کنید...
موفق باشید

morteza271
یک شنبه 29 اردیبهشت 1392, 23:53 عصر
من قصد جسارت نداشتم آقا مرتضی اگه شما یا هر کدوم از دوستان ناراحت شدن ببخشید.
شوخی کردم مهندس!!!
میدونم عمدی نبوده مگه بیکاری بیای ما رو سرکار بذاری!!!
فقط خواستم این آخر شبی مزاح کرده باشم...
حالا به هر حال تونستین مشکلتون رو حل کنید؟؟

mojtaba5
دوشنبه 30 اردیبهشت 1392, 00:03 صبح
شوخی کردم مهندس!!!
میدونم عمدی نبوده مگه بیکاری بیای ما رو سرکار بذاری!!!
فقط خواستم این آخر شبی مزاح کرده باشم...
حالا به هر حال تونستین مشکلتون رو حل کنید؟؟
متاسفانه خیر
اگه بخوام کلید اصلی رو ID تنها بگیرم برای گزارش گیری کفش از یک نوع با رنگهای مختلف به مشکل برمیخورم.

morteza271
دوشنبه 30 اردیبهشت 1392, 00:16 صبح
متاسفانه خیر
اگه بخوام کلید اصلی رو ID تنها بگیرم برای گزارش گیری کفش از یک نوع با رنگهای مختلف به مشکل برمیخورم.
نه به چه مشکلی برمیخورین؟ربطی نداره!!!
البته این ID منظور همون شماره کفش نیست ها...
این یه ستون جدیده که خود دیتابیس مقداردهیش میکنه و شما فقط ازش استفاده می کنید...
متوجه منظورم شدین؟

mojtaba5
دوشنبه 30 اردیبهشت 1392, 00:21 صبح
نه به چه مشکلی برمیخورین؟ربطی نداره!!!
البته این ID منظور همون شماره کفش نیست ها...
این یه ستون جدیده که خود دیتابیس مقداردهیش میکنه و شما فقط ازش استفاده می کنید...
متوجه منظورم شدین؟
بله متوجه شدم همون اولم یه فیلد ID داشتم که حذفش کردم، فکر کنید یه مدل کفش دارید با شماره 200 ، ازین مدل پنج رنگ دارید، وقتی یکی از رنگها تموم میشه چطور میتونید گزارش بگیرید که اون رنگ رو ندارید؟توی بحث نرمال سازی به ما گفتن اینطور مواقع اون فیلد رو هم کلید اصلی بگیرید.

علی متقی پور
دوشنبه 30 اردیبهشت 1392, 03:17 صبح
بله متوجه شدم همون اولم یه فیلد ID داشتم که حذفش کردم، فکر کنید یه مدل کفش دارید با شماره 200 ، ازین مدل پنج رنگ دارید، وقتی یکی از رنگها تموم میشه چطور میتونید گزارش بگیرید که اون رنگ رو ندارید؟توی بحث نرمال سازی به ما گفتن اینطور مواقع اون فیلد رو هم کلید اصلی بگیرید.

داداش گلم بنظر من شما کلا دیتا بیست رو درست طراحی نکردی.
فدات شما ناراحت نشی ولی بمنظرم بهتره از پروژه های سبک تر شروع کنی. این شاید کمی برات سنگین باشه

علی متقی پور
دوشنبه 30 اردیبهشت 1392, 03:19 صبح
اتفاقا خیلی خوبه اگه بتونید آموزش هم بذارین و البته بتونید تمومش کنین.
چون توی این سایت مرسوم شده هرکی میاد یه آموزش میذاره و بعد چند روز میمونه رو هوا...
البته خود منم یکی از همون افراد شدم متاسفانه!!!(چند وقت پیش یه تایپیک آموزشی قرار دادم و بعد از چند پست دیگه بعدش نتونستم ادامه بدم به دلیل مشغله زندگی و ... و فقط یه پست گذاشتم و از دوستان معذرت خواهی کردم)
امیدوارم شما بتونید آموزش رو شروع و از همه مهتر تمومش کنید...
موفق باشید

صد تا آموزش نیمه تموم اینجا دیدم :)
برای رفع این مشکل تا تموم نشدنش تاپیک رو نمیزنم
اگر بفرض محال هم زدم قطعا تمومش میکنم نگران نباش عزیزم :)

mojtaba5
دوشنبه 30 اردیبهشت 1392, 09:38 صبح
داداش گلم بنظر من شما کلا دیتا بیست رو درست طراحی نکردی.
فدات شما ناراحت نشی ولی بمنظرم بهتره از پروژه های سبک تر شروع کنی. این شاید کمی برات سنگین باشه
شما اگه ایده بهتری داری بگو.

morteza271
دوشنبه 30 اردیبهشت 1392, 11:10 صبح
روش طراحی جدول های دیتابیستون رو طبق توضیحات خودتون که به صورت پ.خ برام ارسال کرده بودین براتون پ.خ کردم.
لطف کنید چک کنید و اگه مشکلی بود بگین...
موفق باشید

morteza271
دوشنبه 30 اردیبهشت 1392, 17:46 عصر
سلام.
من یه نمونه برنامه طبق اون ساختار دیتابیسی که بهتون دادم درست کردم تا ازش استفاده کنید.
اینجا میذارمش تا نمونه ای داشته باشین و راحت تر بتونید پروژه ی خودتون رو انجام بدین.
104445

اول فایل sql رو توی sql اجرا کنید تا دیتابیس به همراه جداول ایجاد بشن و بعد برنامه رو باز کنید و ازش استفاده کنید.
فقط من با ADO به دیتابیس وصل شدم و از LINQ استفاده نکردم.
طبق همین برنامه میتونید بقیه موارد که توی پروژتون هست رو انجام بدین.
اگه مشکلی هم داشتین در همینجا بپرسین.

البته اینم بگم که برای اتصال به دیتابیس بهتره که به صورت چند لایه ای عمل کنید که متاسفانه به دلیل کمبود وقت نتونستم اینکار رو بکنم. و من توصیه میکنم به شما که اگه می خواین اصولی یادبگیرین روش چند لایه رو هم یاد بگیرین.

اگه بدردتون خورد واسم دعا کنید...
موفق باشید

mojtaba5
دوشنبه 30 اردیبهشت 1392, 21:12 عصر
یک سوال:
من یک فرم اصلی دارم و میخوام وقتی روی یک دکمه در این فرم اصلی کلیک کردم فرم2 باز بشه و در عین حال یک join هم انجام بشه بین 3 جدول و نتیجه رو در همون فرم 2 به من نشون بده.بعد در فرم 2 میخوام عملیات درج حذف و ویرایش و جستجو بر اساس اون جدولی که برام join کرده رو انجام بدم.
آیا میتونم کد join سه تا جدول رو پس از این کد بنویسم؟

Form2 f2 = new Form2();
f2.show();

مهدی هادیان2
دوشنبه 30 اردیبهشت 1392, 21:39 عصر
بسم الله الرحمن الرحیم

له متوجه شدم همون اولم یه فیلد ID داشتم که حذفش کردم، فکر کنید یه مدل کفش دارید با شماره 200 ، ازین مدل پنج رنگ دارید، وقتی یکی از رنگها تموم میشه چطور میتونید گزارش بگیرید که اون رنگ رو ندارید؟توی بحث نرمال سازی به ما گفتن اینطور مواقع اون فیلد رو هم کلید اصلی بگیرید.
با سلام
پیشنهادی برای پایگاه دادتون دارم:
یک جدول برای رنگ در نظر بگیرید شامل فیلدهای کد رنگ (اتونامبر), نام باشد (کد رنگ کلید اصلی).
جدولی هم برای سایز شامل فیلدهای کد سایز (اتونامبر), شماره باشد (کد سایز کلید اصلی).
جدول کالا که شامل فیلد ID که اتونامبر باشه و به عنوان کلید اصلی تلقی شود و مابقی فیلدهای مورد نیازتون به جز رنگ و سایز
رابطه کالا و رنگ چند به چند است همون طور که فرمودید کفش شماره 1 مثلا رنگ 1 و 2 و ... را دارد و همین طور هر رنگی میتواند مربوط به چند کفش باشد؛ بنابراین یک جدول واسط بین کالا و رنگ قرار میدیم به نام جدول کالا_رنگ
جدول کالا_رنگ: شامل ID که کد اصلی است و اتونامبر و کلید کالا و کلید رنگ که کلیدهای خارجی هستند.
و با همین تفاسیر جدول واسط کالا_سایز
جدول کالا_سایز: شامل ID که کد اصلی است و اتونامبر و کلید کالا و کلید سایزکه کلیدهای خارجی هستند.
موفق باشید.

morteza271
دوشنبه 30 اردیبهشت 1392, 21:50 عصر
یک سوال:
من یک فرم اصلی دارم و میخوام وقتی روی یک دکمه در این فرم اصلی کلیک کردم فرم2 باز بشه و در عین حال یک join هم انجام بشه بین 3 جدول و نتیجه رو در همون فرم 2 به من نشون بده.بعد در فرم 2 میخوام عملیات درج حذف و ویرایش و جستجو بر اساس اون جدولی که برام join کرده رو انجام بدم.
آیا میتونم کد join سه تا جدول رو پس از این کد بنویسم؟

Form2 f2 = new Form2();
f2.show();
راستش من که اصلا متوجه نشدم منظورتون چیه!!!!
یعنی چی join رو بعد از دستورات بالا بنویسید؟!!
نمونه برنامه ای که گذاشتم رو بررسی کردین؟
همه چی توی اون هست خیلی راحت میتونید مطابق با نیاز خودتون تکمیلش کنید...

علی متقی پور
دوشنبه 30 اردیبهشت 1392, 23:22 عصر
یک سوال:
من یک فرم اصلی دارم و میخوام وقتی روی یک دکمه در این فرم اصلی کلیک کردم فرم2 باز بشه و در عین حال یک join هم انجام بشه بین 3 جدول و نتیجه رو در همون فرم 2 به من نشون بده.بعد در فرم 2 میخوام عملیات درج حذف و ویرایش و جستجو بر اساس اون جدولی که برام join کرده رو انجام بدم.
آیا میتونم کد join سه تا جدول رو پس از این کد بنویسم؟

Form2 f2 = new Form2();
f2.show();

داداش گلم همونطور که قبلا هم گفتم شما یه مقدار پروژه رو سنگین برداشتی. بهتره اول یک سری چیزهای مقدماتی رو یاد بگیری بعد چنین کارهایی بکنی. اصلا و ابدا شما آمادگی انجام پروژه با تیبل های بهم مرتبط رو نداری.
ولی بازم من جوابت رو میدم
ببین شما یک کوئری همیشگی برای جوین داری و یک متد پر کننده دیتا گرید. این دو تا ربطی بهم ندارن و شما ر وقت خاستی میتونی نتیجه این کوئری را بدی به اون متد تا گریدت با نتیجه اون کوئری پر بشه. حالا اینکارو هر وقت عشقته میدتونی انجام بدی

mojtaba5
دوشنبه 30 اردیبهشت 1392, 23:23 عصر
راستش من که اصلا متوجه نشدم منظورتون چیه!!!!
یعنی چی join رو بعد از دستورات بالا بنویسید؟!!
نمونه برنامه ای که گذاشتم رو بررسی کردین؟
همه چی توی اون هست خیلی راحت میتونید مطابق با نیاز خودتون تکمیلش کنید...
برنامه باز نمیشه:((
ببین من میخوام روی فرم اصلی وقتی دکمه کالا رو میزنم،فرم بعدی باز بشه و 3 تا جدول کفش،رنگ و سایز با هم بالا بیان یعنی جوین بشن و توی دیتاگرید ویو بهم نشونش بده.
بعد روی این جدول درج و حذف و ویرایش رو انجام بدم.

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 01:35 صبح
آقا مجتبی دو تا سوال:

1) شما میتونی یک کوئری بنویسی که حاوی جوین مورد نظرت باشه؟ یعنی اون دیتایی که میخوای رو از دیتابیس از طریق کوئری نویسی بگیری. میتونی اینکار رو بکنی یا نه؟

2) اگر به شما یک منبع داده ( حالا هر چی مثلا یه دیتا ست ، یه دیتا تیبل، یه آرایه یه لیست یا ... ) بدن میتونی باهاش گرید را پر کنی؟

>> جواب هر دو بله >>> خب عزیزم کوئری را بنویس و با نتیجش این گرید رو پر کن. چیزی پیچیده ای که نیست

>> جواب یک بله جواب دو نه >> شما به من بگو از اون کوئریت چه خروجی ای در میا تا بهت یاد بدم باهاش گرید ر و پر کنی.

>> جواب یک نه جواب دو بله >> پس شما تو نوشتن کوئری و جوین نویسی مشکل داری. خب این چیز پیچیده ای نیست. کافیه رابطه سه تا جدولت رو بگی و بگی چه فیلد هایی میخوای. براحتی میشه جوین را نوشت. البته اینکار رو باید خودت بکنی. اگر نتونی این کوئری را بنویسی یعنی چیزی یاد نگرفتی و باید یاد بگیری. نیم ساعت هم طول نمکیشه یاد گرفتنش.

>> جواب هر دو نه >> عزیزم قبول کن که باید یه چیزهایی یاد بگیری بعد شروع کنی چنین کاری رو بکنی. میدونم که مجبوری سریع اینکارو بکنی ولی دیگه این میشه که شما میخواهی یکی برات پروژه دانشجوئیت رو حل کنه و خب من و سایر دوستان بخاطر خودشون هم شده اینکارو نمیکنیم. چون بنفعته که تحت فشار قرار بگیری و بری یاد بگیری

موفق باشی

mojtaba5
سه شنبه 31 اردیبهشت 1392, 01:42 صبح
سلکت زدن و درج رو میتونم انجام بدم با ADO
اما من میخوام وقتی اون فرم جدید باز میشه همزمان توی گریدویوم اون 3 تا جدولی که میخوام سلکت هم بکنم.سوالم این بود که توی فرم لودم میتونم دستور سلکت رو بنویسم؟
نتیجه این سلکت هر چی که هست روش درج و ویرایش رو انجام میدم.

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 01:49 صبح
خب جواب اینو که بهت دادم

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


var QueryResult = QueryMethod();
Form MyForm = new Form();
FillGridView(QueryResult);
MyForm.Show();


البته توجه کن که تو متد FillGridView() باید به گرید ویو دسترسی داشته باشی.

ببین پسر خوب اینها هیچکدوم جواب کامل نیست. ولی خب دقیقا به شما میگه باید چکار کنی. شما بشین دست به کد شو بعد هر جا ایراد برخوردی سوال کن.
باور کنی یه ذره تلاش کنی چیز سختی نیست. ضمنا هر جا به مشکل خود کارو متوقف نکن. هر قسمتیش رو بلدی بنویس تا بعدا مشکل قسمتهای دیگش رو حل کنی

mojtaba5
سه شنبه 31 اردیبهشت 1392, 16:29 عصر
خب توی ویرایش فهمیدم اشکال کارم کجا بوده من توی انتخاب cells دقت نمیکردم؛ اما چند تا سوال برام پیش اومده:

1. وقتی میخوام رکوردی رو ویرایش کنم باید حتما همه فیلدهاش رو پر کنم وگرنه نمیشه، راهی نداره که فقط اون فیلدی که میخوام ویرایش کنم رو پر کنم؟
2.توی جدول کالا نمیشه کاری کرد وقتی جنسی فروش میره ، از فیلد تعداد به همون تعدادی که فروش رفته کم بشه یا کاربر خودش باید دستی این کارو بکنه؟
3.یه دستور برای پاک کردن متن از روی تکست باکسها بعد از وقتی که درج یا ویرایش میکنم میخوام.
4.توی جدول جدیدم،آیدی کالا و نام کالا رو کلید اصلی گرفتم، آیدی کالا اتونامبر هست، اما وقتی میخوام رکوردهام رو درج کنم رکورد تکراری درج میکنه.باید چکار کنم؟
5.موقع جستجو وقتی گریدویو نتایج رو میاره، باید چکار کنم که کاربر بتونه به صفحه قبل برگرده؟
6.برای جستجو بر اساس 4 فیلد، چه راه خوب و تمیزی هست که کاربر اختیاری یکی از 4 مورد یا هر 4 مورد رو انتخاب و جستجوش رو انجام بده.مثلا جستجو کن بر اساس: نام، شرکت سازنده، قیمت و تعداد.منظورم روی فرم هست نه دستورش.بجز چک باکس.

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 17:05 عصر
1. منظورت تو گریده یا تیبل دیتا بیس؟ اگر گریده که اصلا اینطور نیست و شما هرکدوم رو بخوای میتونی ویرایش کنی و هر کدوم رو نمیخوای خالی بذاری. اما اگر منظورت دیتا بیسه که خب باید اجازه null بودن رو به اون فیلد بدی تا بتونی بدون پر کدنش یک رکورد ایجاد کنی

2. خب برنامه نویسی یعنی همین دیگه. یعنی شما با کد این دستورات رو بدی. معنی نداره کاربر دستی اینکارو بکنه. شما باید کدی بنویسی که وقتی یک جنسی فروختهش د به همون تعداد از موجودی ها کم بشه

3. اینکه خیلی سادست عزیزم

TextBox.Text = string.Empty;

mojtaba5
سه شنبه 31 اردیبهشت 1392, 17:16 عصر
1. منظورت تو گریده یا تیبل دیتا بیس؟ اگر گریده که اصلا اینطور نیست و شما هرکدوم رو بخوای میتونی ویرایش کنی و هر کدوم رو نمیخوای خالی بذاری. اما اگر منظورت دیتا بیسه که خب باید اجازه null بودن رو به اون فیلد بدی تا بتونی بدون پر کدنش یک رکورد ایجاد کنی

2. خب برنامه نویسی یعنی همین دیگه. یعنی شما با کد این دستورات رو بدی. معنی نداره کاربر دستی اینکارو بکنه. شما باید کدی بنویسی که وقتی یک جنسی فروختهش د به همون تعداد از موجودی ها کم بشه

3. اینکه خیلی سادست عزیزم

TextBox.Text = string.Empty;
درود به شما
1.منظورم توی گرید هست، من توی دیتابیس بهش اجازه Null بودن دادم ولی وقتی میخوام توی گرید ویرایشش کنم کلید اصلی رو پر میکنم ولی وقتی ران میکنم این پیغام رو میده: Input string not in a correct format

2.خب میدونم که اگه بخوام گزارش کالاهای باقیمونده رو بدست بیارم، باید کل کالاهام رو - فروش رفته ها بکنم، ولی نمیدونم چطوری وقتی فروش میرن بهش بگم از جدول کالا کم کن.

3. این کد رو کجا بزارم که تکست باکس رو پاک کنه؟

یه مشکل دیگه: اون فیلد آیدی که اتونامبر گذاشتم اول از 1 شماره میزد ، بعد که برنامه رو دوباره اجرا کردم شروع کرده از 1000 عدد میزنه، این مشکل از چیه؟

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 18:59 عصر
1. باید ببینی این پیغام رو کجا میده. ممکنه ربطی به گرید نداشته باشه. باید ببینی به کدوم قسمت کد ایراد میگیره

2. شما باید کاری کنی وقتی یه جنسی فروش رفت بلافاصله یه دونه از موجودی کالاهات کم بشه. یعنی فیلد تعداد اون کلا رو ویرایش و آپدیت کنی

3. هر جا که میخوای بگی تکست باکست خالی بشه

4. اینطور نمیتونه باشه. ببین این عدد از یک شروع میشه و هی میره بالا. تا زمانی هم که این تیبل هست همین روند رو ادامه میده و هیچ راهی نداره که مثلا شما بگی دوباره از یک شروع کنه. هر تستی که شما میکنی و کلا هر رکوردی که سعی میکنی توش ایجاد کنی حالا چه موفق بشی یا نه یه دونه اونو افزایش میده ولی هرگز و هرگز خود به خودش چیزی عوض نمیشه.

mojtaba5
سه شنبه 31 اردیبهشت 1392, 19:47 عصر
این کد درج من هست که وقتی اون کد رو میزارم برای پاک کردن تکست باکس ازم ایراد میگیره،شاید من جای درستی نزاشتمش،همچنین بجز فیلد ایدی که اتونامبر هست،بقیه فیلدها میتونن تکراری درج بشن،من میخوام ایدی و nameatr در این جدول منحصر به فرد باشن.:

atr table = new atr
{
nameatr = textBox1.Text=string.Empty,
rayehe = textBox2.Text=string.Empty,
sherkat = textBox3.Text=string.Empty,
unitprice = int.Parse(textBox4.Text=string.Empty),
number = int.Parse(textBox5.Text=string.Empty),
};
database.atrs.Add(table);
database.SaveChanges();
dataGridView1.DataSource = database.atrs.ToList();

اینم کد ویرایش من هست که هر وقت میخوام یکی از فیلدها رو تکی ویرایش کنم به برخی از جاهای برنامه ایراد میگیره:

int a = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string names = dataGridView1.CurrentRow.Cells[1].Value.ToString();

atr table = database.atrs.First(i => (i.idatr == a) && (i.nameatr == names));//System.InvalidOperationException was unhandled
HResult=-2146233079
Message=Sequence contains no elements


table.nameatr = textBox1.Text;
table.rayehe = textBox2.Text;
table.sherkat = textBox3.Text;
table.unitprice =int.Parse( textBox4.Text);Input string was not in a correct format.
table.number = int.Parse(textBox5.Text);Input string was not in a correct format.


dataGridView1.DataSource = database.atrs.ToList();

برای اون فیلد که اتونامبر هست این بار از 2005 شروع کرد به عدد دادن ، مشکل از چیه؟
اون سوال های قبلیمو هم ممنون میشم جواب بدید.

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 20:25 عصر
آقا مجتبای عزیزم شما اشتباهات زیادی تو کد نویسی داری. کاش یکی اطرافت بود تا بتونی ازش کمک حضوری بگیری.

من یه سری از خطاهات رو میگم ولی بعید میدونم با این سطح بتونی این پروژه رو تکمیل کنی:
1. این چیه نوشتی؟
atr table = new atr
یعنی اسم کلاست رو گذاشتی atr ؟
این چه کلاسیه اونوقت؟ اسن روش نام گذاری رو کی بهت یاد داده؟!!!!!!!!!!!!!!

2. این چیه نوشتی؟
nameatr = textBox1.Text=string.Empty
پسر خوب شما میخواهی nameatr که از نظر اسم گذاری هم افتضاحه رو مقدار بدی. خب مقدار تکست باکس رو بهش میدی. دیگه نباید بلافاصله پشتش بنویسی مساوی است با string.Empty . بعد از اتمام همه مراحله که باید تکست باکس رو خالی کنی.
کلا هر جا نوشتی مساوی است با string.Empty را پاک کن.

3. بهتره از دیتا بایندینگ استفاده نکنی. قبلا هم بهت گفتم. شما کوئری را بگیر و بعدا با نتیجه کوئری گریدت را پر کن. نه اینکه نتیجه کوئری را بعنوان دیتا سورس گریدت قرار بدی. اگر نتونستی با نتیجه کوئریت گریدت رو پر کنی خودم بهت یاد میدم.

4. اینا چیه وسط کدت؟ پاکشون کن
//System.InvalidOperationException was unhandled HResult=-2146233079
Message=Sequence contains no elements
5. اینا رو هم پاک کن.
Input string was not in a correct format.

6. داداش گلم تو کد نویسی و اسم گذاری باید بیشتر دقت میکردی. ببین داداش من اینهمه پست دادم فقط برای کمک شما. میتونستم بهت بگم بده خودم برات انجام بدم. اونطوری صد برابر هم بیشتر تکشر میکردی و راضی تر بودی ولی باید بدونی که همه این راه شما رو رفتن. با دقت و تلاش میتونی حلش کنی. هییییییییییییییچ چیز پیچیده ای وجود نداره. بخدا اگر یکی بغلت باشه ایراداتت رو بگه خودت خنده ات میگیره که چقد راحت بوده و نمیدونستی. هر جاش سخت بود من خودم اصلا کدش رو برات مینویسم ولی اینا هیچکدومش سخت نیست.

علی متقی پور
سه شنبه 31 اردیبهشت 1392, 20:28 عصر
دیشب ازت پرسیدم که جواب ندادی. اگر بچه تهرانی بگو فردا میام خونتون خودم بهت یاد میدم چی به چیه. البته رایگان ها :)

mojtaba.broujerdi
چهارشنبه 12 تیر 1392, 08:43 صبح
سلام
پروژه های روی کامپیوترم از پری روز مشکل پیدا کردن و نمیتونم هیچ تغییراتی توشون بدم موقع ذخیره تغییرات این ارور رو میدن که عکسش رو ضمیمه کردم، مشکل نمیدونم کجاست حتی پروژه هایی که قبلا کار کرده بودم و هیچ تغییراتی هم توشون ندادم اینطوری شدن.
.net freamWork رو هم عوض کردم نشد حتی دیروز ویندوز رو هم عوض کردم بازم حل نشد ممنون میشم راهنمایی کنین

106501

hramezani
چهارشنبه 12 تیر 1392, 09:15 صبح
یک مقداری null هستش که قبول نمیکنه
احتمالا یه جا که انتظار داری دیتا هات null نباشه و کد رو بر اون اساس نوشتی این اتفاق افتاده , به نظرم برنامه رو trace کن اگه میتونه
اگه نه که دیتابیس رو بررسی کن

mojtaba.broujerdi
چهارشنبه 12 تیر 1392, 09:47 صبح
به دیتا بیس فکر نکنم مربوط بشه ، و در ضمن همه برنامه های روی کامپیوترم اینطوری شدن
وقتی هم که trace میزنم به اولین خطم نرسیده ارور میده ، یعنی مثل اینکه اول ارور میده بعد میره کد ها رو چک میکنه

mortaza94
شنبه 15 تیر 1392, 22:29 عصر
با سلام
من تو برنامه با این خطا روبه رو شدم
cmb_typ.Text = dgv.CurrentRow.Cells[7].Value.ToString();

System.NullReferenceException was caught Message=Object reference not set to an instance of an object.
مشکل اصلی اینجا هست که خانه 7 مقدار دارد و خالی نیست بار اول این خطا رو میده اما بار دوم بدون خطا کار می کنه اگر میشه کمکم کنید
با تشکر

mortaza94
سه شنبه 25 تیر 1392, 15:03 عصر
ایا کسی نیست منو کمک کنه

خواهش می کنم راهنمایی کنید من چیکار کنم

خیلی ممنون

Y_Safaiee
سه شنبه 25 تیر 1392, 17:01 عصر
با سلام
من تو برنامه با این خطا روبه رو شدم
cmb_typ.Text = dgv.CurrentRow.Cells[7].Value.ToString();

System.NullReferenceException was caught Message=Object reference not set to an instance of an object.
مشکل اصلی اینجا هست که خانه 7 مقدار دارد و خالی نیست بار اول این خطا رو میده اما بار دوم بدون خطا کار می کنه اگر میشه کمکم کنید
با تشکر

با درود و قبولی طاعات و عبادات شما

یکی از این دوحالته
1.یا شما سلولی رو انتخاب کردید که وجود خارجی نداره(سلول ها از 0 شروع میشن یعنی اگر هفتیم سلوله وقتی از 1 میشمورینش در واقع باید بنویسید سلول 6)
2.یک چیزی ارش میخواین که قابل انجام نیست,کد بالا که میگه نمیتونه شیئ رو به رشته تبدیل کنه و واسطی ازش بسازه.مثلا نمیشه تصویر,فیلدهای خاص رو به رشته برگردوند.
دقیقا بگین در سلول مورد نظر شما چه چیزی قرار میگیره؟

programerinfonet
پنج شنبه 27 تیر 1392, 09:57 صبح
دوست عزیز یک یا چند تا از رفرنس های ویژوال استادیوت از بین رفته
اگه همه ی پروژهات همین طور شدن باید ویژوال رو یک بار پاک و مجدد نصب کنی

tooraj_azizi_1035
پنج شنبه 27 تیر 1392, 11:52 صبح
باید برنامتون رو تو Visual Studio اجرا کنید ببینید از کدوم خط داره ایراد میگیره.

mojtaba.broujerdi
یک شنبه 30 تیر 1392, 11:31 صبح
دوست عزیز یک یا چند تا از رفرنس های ویژوال استادیوت از بین رفته
اگه همه ی پروژهات همین طور شدن باید ویژوال رو یک بار پاک و مجدد نصب کنی

ممنون از راهنماییتون ولی اگه دقت کنین بالا نوشتم که حتی ویندوز رو هم عوض کردم و بعد از اون سورس هام رو روی یه سیستم دیگه امتحان کردم ولی بازم همون ارور رو داد

mojtaba.broujerdi
یک شنبه 30 تیر 1392, 11:34 صبح
این رو هم بالا پیشنهاد دادن که اونم توضیح دادم که در حالت عادی مشکلی نداره فقط نمیتونم هیچ تغییراتی رو پروژه بدم
به طور مثال یه کلید اظافه میکنم و هیچ کدی هم براش نمینویسم وقتی میخوام ذخیره کنم این ارور رو میده

mojtaba.broujerdi
یک شنبه 30 تیر 1392, 11:35 صبح
این رو هم بالا پیشنهاد دادن که اونم توضیح دادم که در حالت عادی مشکلی نداره فقط نمیتونم هیچ تغییراتی رو پروژه بدم
به طور مثال یه کلید اظافه میکنم و هیچ کدی هم براش نمینویسم وقتی میخوام ذخیره کنم این ارور رو میده

hercool
سه شنبه 15 مرداد 1392, 20:35 عصر
دومین سوالم مربوط به بایندینگ کردن کمبوباکس به دیتابیس هست
selectvalue درست اجرا میشه اما بعد از اتمام خطا میده
این کد قسمت هست
private void cmbindustry_SelectedIndexChanged(object sender, EventArgs e)
{

codeindustry = (int)cmbindustry.SelectedValue;


this.companyTableAdapter.codecompany(this.bourseDa taSetcmbcompany.company, codeindustry);
//this.companyTableAdapter.codecompany(this.bourseDa taSetcmbcompany.company, (int)cmbindustry.SelectedValue);

}


Object reference not set to an instance of an object.

nasim2012
سه شنبه 15 مرداد 1392, 22:52 عصر
سلام
از رخداد زیر استفاده کن، مشکلت حل می شه

SelectionChangeCommitted(object sender, EventArgs e)

hercool
چهارشنبه 16 مرداد 1392, 06:59 صبح
ممنون اما هر کاری کردم کمکی نکرد و بازم پیغام هست
چه به صورت ویژوال انتخاب کردم ارور داد و همینکه دستی کدش رو درست کردم بازم مشکل داشت

setareh masompoor
چهارشنبه 16 مرداد 1392, 09:10 صبح
ببخشید نمیدونم متوجه منظورتون شدم یا نه
اما فکر کنم شما می خواید مقدار انتخابی کمبو باکس رو به دستور پایینی که نوشتین پاس بدید؟درسته ؟
اگه اینجوریه خوب تو همون رویدادتون اگه index عنصر انتخابی رو میخوایید از این دستور استفاده کنید:


codeindustry = cmbindustry.Selectedindex;

اگه هم مقدارشو میخوای از این دستور استفاده کنید:


codeindustry = cmbindustry.text;

امیدوارم درست متوجه شده باشم

hercool
چهارشنبه 16 مرداد 1392, 09:26 صبح
ممنون بابت پاسختون اما بزارید روشن تر بگم
من چند تا کمبوباکس تو فرم دارم
حالا کمبوباکس دوم وابسته هست به اولی و سومی به دومی
حالا بر چه اساسی
مثلا
من تو کمبوباکس اول یک گزینه رو انتخاب می کنم این گزینه داخل دیتابیس با یک عدد مشخص هست مثلا عدد 1 پس مقدار selectvalue من برابر هست با 1
حالا من در کمبوباکس دوم مقادیری رو لود می کنم از دیتابیس که مقدار یک فیلدیشون برابر 1 باشه مثلا برای مثال کد شرکت هایی که در گروه 1 هستن
پس در رویداد indexchange کمبوباکس اول من این selectvalue رو میگیرم و می دم به یک کوئری تا فقط اون اطلاعات رو لود کنه
برای مثال کد کوئری
SELECT namecompany, codecompany, codem, codmain FROM dbo.company where codem=@valuei
و کد کمبوباکس اول هم

private void cmbindustry_SelectedIndexChanged(object sender, EventArgs e)
{

codeindustry = (int)cmbindustry.SelectedValue;


this.companyTableAdapter.codecompany(this.bourseDa taSetcmbcompany.company, codeindustry);{


ولی این خطا رو میده و حتی به راهنمایی دوستمون در قسمت properties در رویداد SelectionChangeCommitted کمبوباکس اول رو انتخاب کردم بازم مشکل حل نشد
برای اینکه مطمئن بشم خودم یه کد دیگه به این شکل زدم که شک دارم درسته اما اروری هم نمی داد
در کمبوباکس اول این کد رو وارد کردم
cmbindustry.SelectionChangeCommitted += cmbindustry_SelectionChangeCommitted;

و این کد رو داخل تابع رویداد جدید وارد کردم
private void cmbindustry_SelectionChangeCommitted(object sender, EventArgs e)
{
ComboBox cmbindustry = (ComboBox)sender;


//if ((bool)cmbindustry.SelectedValue == true) { cmbindustry.SelectedValue = cmbindustry.SelectedValue; }
codeindustry = (int)cmbindustry.SelectedValue;
this.companyTableAdapter.codecompany(this.bourseDa taSetcmbcompany.company, codeindustry);
}
البته به این تابع شک دارم دقیقا نمی دونستم چکارش کنم اما بازم خطا رو دارم

cherchil_hra
چهارشنبه 16 مرداد 1392, 10:01 صبح
برای هر کمبو اول چک کن تعداد آیتم هاش صفر نباشد:

private void cmbindustry_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbindustry.Items.Count ==0 ) return;

codeindustry = (int)cmbindustry.SelectedValue;
this.companyTableAdapter.codecompany(this.bourseDa taSetcmbcompany.company, codeindustry);
}

hercool
چهارشنبه 16 مرداد 1392, 10:15 صبح
ممنون بابت پاسخت اما بازم ارور رو میده

hercool
چهارشنبه 16 مرداد 1392, 10:20 صبح
ولی به این شکل درست شد ممنون بابت راهنماییت

if (valuei == 0)
{
codeindustry = (int)cmbindustry.SelectedValue;
}

مهرداد صفا
چهارشنبه 16 مرداد 1392, 10:30 صبح
با سلام.
ابتدا چک کنید SelectedValue برابر NULL نباشد:

void Combo_SelectedIndexChanged(object sender,...e)
{
if(combo.SelectedValue==NULL)
return;
//else
//......

}

nafisehk
یک شنبه 17 شهریور 1392, 03:50 صبح
سلام دوستان
یه groupbox داخل یه groupbox دیگه دارم میخوام مقدار کنترلای groupbox داخلی و تغییر بدم اما ارور میده. برا خارجیه این ارورو نمیده.
کد

foreach (System.Windows.Forms.Control myControl in this.Controls["groupBox4"].Controls)
{
if (myControl is TextBox)
{
(myControl).Text = "";
}
else if (myControl is ComboBox)
{
((ComboBox)(myControl)).SelectedIndex = 0;
}
else if (myControl is CheckBox)
{
((CheckBox)(myControl)).Checked = false;
}
}


ارورش
Object reference not set to an instance of an object.


مرسی:لبخندساده:

MohammadHadi2031
یک شنبه 17 شهریور 1392, 07:39 صبح
نکته اول: چرا به این صورت نمی نویسی
foreach (System.Windows.Forms.Control myControl groupBox4.Controls)
نکته دوم :به این صورت تغییرش بده
var v = groupBox1.Controls["groupBox2"].Controls;
foreach (var item in v)
{

}

forodo
پنج شنبه 16 آبان 1392, 17:02 عصر
من کدام رو از اکسس به اس کیوال تغییر دادم و حالا موقع اجرای برنامه ایراد می گیره. با اکسس هیچ مشکلی نبود.
ارورش هم در عنوان نوشته ام.
خود ارور رو در google سرچ کردم ولی چون انگلیسی بود چیزی متوجه نشدم.
تمام پرایمری کی ها و روابط جداول رو قرار دادم.

private void SearchLetters()
{
try
{

SqlConnection objconnection =
new SqlConnection("Data Source=.;Initial Catalog=Radman;Integrated Security=True;" +
" User ID=sa;Password=123456;");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet = new DataSet();

objDataAdapter.SelectCommand = new SqlCommand();
objDataAdapter.SelectCommand.Connection = objconnection;
Condition = Condition.Trim();
if (Condition.StartsWith("AND")) Condition = Condition.Substring(3);
string cmd = @"SELECT tblErsali.ID,tblDaryafti.ID,tblErsali.LetterID,Sen derUserName,Subject,ReceiverUserName
,tabaghe,jahat,SendDate,SendTime,ErjaDate,ErjaTime ,mohlat,Dayes,bazgasht,peyrov,
IsRead,IsVarede
FROM tblErsali INNER JOIN tblDaryafti ON tblErsali.ID=tblDaryafti.LetterID WHERE " + Condition;
objDataAdapter.SelectCommand.CommandText = cmd;


objDataAdapter.SelectCommand.CommandType = CommandType.Text;
//MessageBox.Show(cmd);
objconnection.Open();
objDataAdapter.Fill(objDataSet, "tblLetter");
objconnection.Close();

dataGridView1.DataSource = objDataSet.Tables["tblLetter"];
dataGridView1.Columns["tblDaryafti.ID"].Visible = false;
dataGridView1.Columns["LetterID"].HeaderText = "شماره نامه";
dataGridView1.Columns["tblErsali.ID"].Visible = false;
dataGridView1.Columns["SenderUserName"].HeaderText = "فرستنده";
dataGridView1.Columns["Subject"].HeaderText = "موضوع";
dataGridView1.Columns["tabaghe"].HeaderText = "نوع";
dataGridView1.Columns["ErjaDate"].HeaderText = "تاریخ ارجاع نامه";
dataGridView1.Columns["ErjaTime"].HeaderText = "ساعت ارجاع نامه";
dataGridView1.Columns["SendDate"].HeaderText = "تاریخ ثبت نامه";
dataGridView1.Columns["SendTime"].HeaderText = "ساعت ثبت نامه";
dataGridView1.Columns["bazgasht"].HeaderText = "بازگشت به نامه شماره";
dataGridView1.Columns["peyrov"].HeaderText = "پیرو نامه شماره";
dataGridView1.Columns["ReceiverUserName"].HeaderText = "گیرنده";
dataGridView1.Columns["jahat"].HeaderText = "جهت";
dataGridView1.Columns["mohlat"].HeaderText = "مهلت پاسخ";
dataGridView1.Columns["Dayes"].HeaderText = "مهلت پاسخ";
dataGridView1.Columns["IsRead"].HeaderText = "خوانده شده";


foreach (DataGridViewRow r in dataGridView1.Rows)
{
if (r.Cells["LetterID"].Value.ToString() == "")
r.Cells["LetterID"].Value = r.Cells["tblErsali.ID"].Value.ToString();
r.Cells["SenderUserName"].Value = Program.chk.GetFullName(r.Cells["SenderUserName"].Value.ToString());
r.Cells["ReceiverUserName"].Value = Program.chk.GetFullName(r.Cells["ReceiverUserName"].Value.ToString());
}


}
catch (Exception)
{
MessageBox.Show("در ارتباط با بانک اطلاعاتی مشکلی پیش آمده است", "خطا درون بانک اطلاعاتی",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

hamid_hr
پنج شنبه 16 آبان 1392, 17:11 عصر
رو كدوم خط اين پيغامو ميده؟

forodo
پنج شنبه 16 آبان 1392, 17:57 عصر
رو كدوم خط اين پيغامو ميده؟
من همیشه برای گرفتن ارور کنار catch یه برک پوینت می ذارم و ارورارو برطرف می کنم ولی اینو اصلاً نمی دونم چی می گه.
روی این خط ارور می گیره:

dataGridView1.Columns["tblDaryafti.ID"].Visible = false;

esafb52
پنج شنبه 16 آبان 1392, 22:21 عصر
این خط رو ببر بیرون یا آخر این بلاک احتمالا هنوز اون سطر مقداری نگرفته و شما سعی در مخفی کردنش دارید!!

forodo
جمعه 17 آبان 1392, 10:07 صبح
این خط رو ببر بیرون یا آخر این بلاک احتمالا هنوز اون سطر مقداری نگرفته و شما سعی در مخفی کردنش دارید!!
امکان نداره خالی باشه چون اون فیلد پرایمری کی هستش.
این کدارو من تو بانک اطلاعاتی اکسس جواب گرفتم و یک ماهی بود که تست می کردم ولی حالا که بردم رو SQL این ارور رو داره می ده.
تمامی relationهارو هم درست کردم.
برای این مخفی اش می کنم برای اینکه نیازی نیست کاربر اونو ببینه ولی من به دلایلی اون رو نیاز دارم.

forodo
جمعه 17 آبان 1392, 10:45 صبح
جدیداً این ارور هم میده: رو همون خط
112642
رو این خط ارور میداد پاکش کردم:

dataGridView1.Columns["tblDaryafti.ID"].Visible = false;


بعد رو این خط ارور می داد که اینم پاکش کردم:

dataGridView1.Columns["tblErsali.ID"].Visible = false;

بعد رو این خط ارور داد که اینم پاکش کردم:

r.Cells["LetterID"].Value = r.Cells["tblErsali.ID"].Value.ToString();

بعد درست شد.
ولی من اونارو نیاز دارم. چیکارش کنم؟

esafb52
جمعه 17 آبان 1392, 12:09 عصر
دوست عزیز
احتیاج به پاک کردن نیست این خطایی که گذاشتین یعنی شی که شما سعی دارین باشی کارکنی هنوز ایجاد نشده معنی اش اینه که هنوز احتمالا گرید رو بصورت کامل پر نشده شما اینها رو بذار بعد یا خارج از این متد تست کن ببین چی میشه یه آزمایش کن با مسیج باکس ببین سعی کن یه سل از این ستون که مخفی اش کنی به مسیج باکس بفرست ببیبن چی نتیجه نمایش میده؟!

mhmd.tv
جمعه 17 آبان 1392, 12:21 عصر
سلام
من یه قطعه کد پیدا کردم که یه دیتاگریدویو رو توی یه دیتاگرید ویوی دیگه کپی می کنه.
اما اگه یه خونه از دیتاگرید ویوی مبدا خالی باشه پیغام ارور میده و نمی تونه توی دیتاگرید ویوی مقصد کپی کنه
دیتاگریدویوی 1 مبدا و دیتاگریدویوی 2 مقصد است.
if (dataGridViewX2.Columns.Count == 0)
{
foreach (DataGridViewColumn dgvc in dataGridViewX1.Columns)
{
dataGridViewX2.Columns.Add(dgvc.Name, dgvc.HeaderText);
}
}

dataGridViewX2.Rows.Clear();

foreach (DataGridViewRow dgvr in dataGridViewX3.Rows)
{
List<string> cells = new List<string>();

foreach (DataGridViewCell dgvc in dgvr.Cells)
{

cells.Add(dgvc.Value.ToString());
}

dataGridViewX2.Rows.Add(cells.ToString());

به خط cells.Add(dgvc.Value.ToString()); ارور میده
متن ارور: Object reference not set to an instance of an object.

ممنون میشم از راهنماییتون

forodo
جمعه 17 آبان 1392, 12:51 عصر
دوست عزیز
احتیاج به پاک کردن نیست این خطایی که گذاشتین یعنی شی که شما سعی دارین باشی کارکنی هنوز ایجاد نشده معنی اش اینه که هنوز احتمالا گرید رو بصورت کامل پر نشده شما اینها رو بذار بعد یا خارج از این متد تست کن ببین چی میشه یه آزمایش کن با مسیج باکس ببین سعی کن یه سل از این ستون که مخفی اش کنی به مسیج باکس بفرست ببیبن چی نتیجه نمایش میده؟!
سلکت رو اینجوری نوشتم:

SELECT tblErsali.ID AS EID,tblDaryafti.ID AS DID

و اینارم اینجوری نوشتم:

dataGridView1.Columns["DID"].Visible = false;

dataGridView1.Columns["EID"].Visible = false;


درست شد.
نمی دونم مشکلش با کلمات tblDaryafti.ID و tblErsali.ID چی بود؟

amir.msc
جمعه 24 آبان 1392, 16:20 عصر
سلام دوستان یه برنامه نوشتم وقتی به خط زیر میرسه خطای
Object reference not set to an instance of an object.رو میده میشه راهنماییم کنید.:گریه:


((PictureBox)(this.Controls["pbPlayer" + i.ToString()])).Visible = true;

علی متقی پور
جمعه 24 آبان 1392, 17:52 عصر
با سلام

کدت رو تریس کن. احتمالا به ازای مقادیری از i کنترلی که میخواهی وجود نداشته باشه

yasha2285
شنبه 25 آبان 1392, 13:22 عصر
سلام دوستان لطفا کمکم کنید
من دو بار vs2010 را پاک و مجددا نصب کرده ام اما مشکلم رفع نشده و خطای object reference not set to an instance of an object را می دهد
http://barnamenevis.org/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7YAAAFYCAIAAAD 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
علت را توی پست ها گشتم اما نتونستم این مشکل را رفع کنم با اینکه در برنامه ام دو فرم و یک باتون قرار دادم هنگامی که برنامه اجرا شده را می بندم این خطا را می دهد خواهشا دوستانی که با این مشکل برخورد کرده اند بگویند چطور و با چه سورس کدی این مشکل را برطرف کنم

FastCode
شنبه 25 آبان 1392, 17:38 عصر
کد؟
عکس؟
کاری که میخواتسید انجام بدید و این اتفاق افتاده؟

yasha2285
شنبه 25 آبان 1392, 18:25 عصر
دوست عزیز
این مشکل برای من در چند موقع رخ می ده
1 - هنگامی که فرم 2 را با showdialog باز می کنم و به محض بستن فرم اول که فرم دسترسی ام است این مشکل پیش میاد مجبور شدم از show استفاده کنم
2- حال هنگامی که فرم 2 را مینمایز می کنم با کلیک روی کلید customer از فرم 1 فرم مینمایز شده به نام فرم 2 ماکزیمایز شده برای بار دوم که فرم 2 انرا مینمایز می کنم و می خواهم از فرم 1 انرا ماکزیمایز یا نرمال کنم این مشکل پیش می اید
112874112875

yasha2285
شنبه 25 آبان 1392, 18:30 عصر
فرم 1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.IO;
namespace Accounter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void glassButton7_Click(object sender, EventArgs e)
{
lsitem.Visible = true;
lsuser.Visible = false;
}

private void btncustomer_Click(object sender, EventArgs e)
{

Form2 customer = new Form2();
if (Application.OpenForms["Form2"] == null)
{

customer.Show();
}
else
{
Application.OpenForms["Form2"].WindowState = FormWindowState.Normal;
Application.OpenForms["Form2"].Activate();

}

}

private void Form1_Load(object sender, EventArgs e)
{
user.Focus();
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (MessageBox.Show("آيا شما مي خواهيد از برنامه خارج شوید ؟", " خروج از برنامه", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
Application.Exit();
}

private void glassButton2_Click(object sender, EventArgs e)
{

}
}
}

فرم 2-------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Accounter
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
ra_code.Checked = true;
//disable();

}
public void disable()
{
//txt_adress.Enabled=false;
// txt_code.Enabled=false;
// txt_id.Enabled=false;
// txt_mobile.Enabled=false;
// txt_money.Enabled=false;
// txt_name.Enabled=false;
// txt_phone.Enabled=false;
//data.Enabled=false;

}
private void btn_search_Click(object sender, EventArgs e)
{
if (search.Visible) search.Visible = false;
else
{
search.Visible = true;
numericUpDown1.Focus();
}
}

private void ra_code_CheckedChanged(object sender, EventArgs e)
{
if (ra_code.Checked)
{
txt_searchname.Enabled = false;
txt_searchname.BackColor = Color.WhiteSmoke;
numericUpDown1.Enabled = true;
numericUpDown1.BackColor = Color.White;
data_search.Enabled = false;
data_search.BackColor = Color.WhiteSmoke;
}
}


private void ra_customer_CheckedChanged(object sender, EventArgs e)
{
if (ra_customer.Checked)
{
txt_searchname.Enabled = true;
txt_searchname.BackColor = Color.White;
txt_searchname.Focus();
numericUpDown1.Enabled = false;
numericUpDown1.BackColor = Color.WhiteSmoke;
data_search.Enabled = false;
data_search.BackColor = Color.WhiteSmoke;
}
}

private void ra_data_CheckedChanged(object sender, EventArgs e)
{
if (ra_data.Checked)
{
txt_searchname.Enabled = false;
txt_searchname.BackColor = Color.WhiteSmoke;
numericUpDown1.Enabled = false;
numericUpDown1.BackColor = Color.WhiteSmoke;
data_search.Enabled = true;
data_search.BackColor = Color.White;
}
}

private void btn_new_Click(object sender, EventArgs e)
{
// enable();
}

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{

}
}
}

habibb
یک شنبه 26 آبان 1392, 02:09 صبح
لطفا کدتون رو در تگ CODE یا CSHARP بزارید


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.IO;
namespace Accounter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void glassButton7_Click(object sender, EventArgs e)
{
lsitem.Visible = true;
lsuser.Visible = false;
}

private void btncustomer_Click(object sender, EventArgs e)
{

Form2 customer = new Form2();
if (Application.OpenForms["Form2"] == null)
{

customer.Show();
}
else
{
Application.OpenForms["Form2"].WindowState = FormWindowState.Normal;
Application.OpenForms["Form2"].Activate();

}

}

private void Form1_Load(object sender, EventArgs e)
{
user.Focus();
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (MessageBox.Show("آيا شما مي خواهيد از برنامه خارج شوید ؟", " خروج از برنامه", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
Application.Exit();
}

private void glassButton2_Click(object sender, EventArgs e)
{

}
}
}

habibb
یک شنبه 26 آبان 1392, 02:11 صبح
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Accounter
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
ra_code.Checked = true;
//disable();

}
public void disable()
{
//txt_adress.Enabled=false;
// txt_code.Enabled=false;
// txt_id.Enabled=false;
// txt_mobile.Enabled=false;
// txt_money.Enabled=false;
// txt_name.Enabled=false;
// txt_phone.Enabled=false;
//data.Enabled=false;

}
private void btn_search_Click(object sender, EventArgs e)
{
if (search.Visible) search.Visible = false;
else
{
search.Visible = true;
numericUpDown1.Focus();
}
}

private void ra_code_CheckedChanged(object sender, EventArgs e)
{
if (ra_code.Checked)
{
txt_searchname.Enabled = false;
txt_searchname.BackColor = Color.WhiteSmoke;
numericUpDown1.Enabled = true;
numericUpDown1.BackColor = Color.White;
data_search.Enabled = false;
data_search.BackColor = Color.WhiteSmoke;
}
}


private void ra_customer_CheckedChanged(object sender, EventArgs e)
{
if (ra_customer.Checked)
{
txt_searchname.Enabled = true;
txt_searchname.BackColor = Color.White;
txt_searchname.Focus();
numericUpDown1.Enabled = false;
numericUpDown1.BackColor = Color.WhiteSmoke;
data_search.Enabled = false;
data_search.BackColor = Color.WhiteSmoke;
}
}

private void ra_data_CheckedChanged(object sender, EventArgs e)
{
if (ra_data.Checked)
{
txt_searchname.Enabled = false;
txt_searchname.BackColor = Color.WhiteSmoke;
numericUpDown1.Enabled = false;
numericUpDown1.BackColor = Color.WhiteSmoke;
data_search.Enabled = true;
data_search.BackColor = Color.White;
}
}

private void btn_new_Click(object sender, EventArgs e)
{
// enable();
}

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{

}
}
}

FastCode
یک شنبه 26 آبان 1392, 07:35 صبح
Form2 customer = new Form2();
if (Application.OpenForms["Form2"] == null)
{

در اینجا باید فقط وقتی یک نسخه جدید از فرم ۲ بسازید که وجود نداره.یعنی باید دستور new رو بزارید داخل if

yasha2285
یک شنبه 26 آبان 1392, 11:08 صبح
دوست عزیز میشه بگید چگونه این سورس کد را بزارم میشه خودتون سورس اش را بنویسید و چرا این خطاپیش آومده و کجای این کد مشکل داره میشه رفع اش کنید که این خطا پیش نیاد

FastCode
یک شنبه 26 آبان 1392, 11:13 صبح
فقط میتونم دقیقتر راهنماییتون کنم.
در این فایل
http://barnamenevis.org/showthread.php?427938-%D8%AE%D8%B7%D8%A7%DB%8C-object-reference&p=1915327&viewfull=1#post1915327
خط ۲۹ رو پاک کنید و محتویاتش رو در خط ۳۲ بنویسید.اگر مشکلتون حل نشد باید پروژتون رو در حالت debug اجرا کنید که VS کدی رو که دچار خطا میشه بهتون نشون بده تا راحتتر بتونید خطاش رو بگیرید.
برای این کار هم فقط کافیه جست و جو کنید.
اگر در هر کدوم از این موارد مشکلی داشتین دوباره توی همین تاپیک بپرسید.

hasti19
یک شنبه 24 آذر 1392, 16:03 عصر
کسی میدونه این ارور برای چیه؟
موقع اجرا ارور نمیده. وقتی فایل exe اجرا میشه، روی باتن که کلیک می کنم این ارور رو میده:
Object reference not set to an instance of an object.

(ارور روی خط رنگی میده) خط4



Pic_Box.Image = img;
Bitmap bmp_img = new Bitmap(Pic_Box.Image);
if (bmp_img == null)
MessageBox.Show("error");
Graphics ghp = Graphics.FromImage(bmp_img);
LinearGradientBrush LineaBrush;
LineaBrush = new LinearGradientBrush(new Rectangle(0, 0, bmp_img.Width, bmp_img.Height), Color.FromArgb(Percent, Layer_color), Color.FromArgb(Percent, Layer_color), LinearGradientMode.BackwardDiagonal);
ghp.FillRectangle(LineaBrush, new Rectangle(0, 0, bmp_img.Width, bmp_img.Height));
return (Image)bmp_img;

majid_i68
یک شنبه 24 آذر 1392, 16:30 عصر
گویا شی که به آن اشاره شده است مقدار null دارد...وشی دومی نمیتواند به ان اشاره کند
Object reference not set to an instance of an object

abbas.oveissi
سه شنبه 26 آذر 1392, 06:09 صبح
کسی میدونه این ارور برای چیه؟
موقع اجرا ارور نمیده. وقتی فایل exe اجرا میشه، روی باتن که کلیک می کنم این ارور رو میده:
Object reference not set to an instance of an object.

(ارور روی خط رنگی میده) خط4



خب به این دلیل در زمان کامپایل خطا نمیگیره که کد از لحاظ Syntax درسته و این نوع خطا در زمان کامپایل قابل تشخیص نیست. مشکل اینجاست که احتمالا زمانی که متد فراخوانی میشود،پارامتر دوم null ارسال میشود،وقتی که در خط 4ام میخواد یه آبجکت از نوع Bitmap بسازه اون null بودنه پارامتر ارسالی باعث این خطا شده است.

silvers
دوشنبه 04 فروردین 1393, 19:27 عصر
سلام دوستان.

من یه برنامه نوشتم که دیتاگریدهای برنامه توسط داده های بانک پر میشن. مشکل اینجاست که وقتی روی هدر دیتاگرید کلیک میکنم برنامه با این خطا متوقف میشه.
An unhandled exception of type 'System.NullReferenceException' occurred in System.Data.dll

Additional information: Object reference not set to an instance of an object.

Mahmoud.Afrad
دوشنبه 04 فروردین 1393, 19:57 عصر
در چه رویدادهایی از دیتاگرید کدنویسی کرده اید؟

silvers
دوشنبه 04 فروردین 1393, 23:48 عصر
رویداد SelectionChanged. اینم کدش:



private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
txtName.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
txtAge.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
cmbTahol.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
txtCodeMelli.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
txtShomarePersoneli.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
cmbEstekhdam.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
txtTel.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
txtMobile.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
txtAddress.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();
cmbCarName.Text = dataGridView1.CurrentRow.Cells[10].Value.ToString();
txtCarModel.Text = dataGridView1.CurrentRow.Cells[11].Value.ToString();
cmbKarteSokht.Text = dataGridView1.CurrentRow.Cells[12].Value.ToString();

string carPlak = dataGridView1.CurrentRow.Cells[13].Value.ToString();
string[] strs = carPlak.Split(' ');

if (strs.Count() == 6)
{
txtp1.Text = strs[0];
txtp2.Text = strs[1];
txtp3.Text = strs[2];
txtp4.Text = strs[5];
}
else
{
txtp1.Text = "";
txtp2.Text = "";
txtp3.Text = "";
txtp4.Text = "";
}
}

Mahmoud.Afrad
سه شنبه 05 فروردین 1393, 00:22 صبح
توی دیتاگرید اطلاعاتی هست یا نه؟


روی خط دوم یعنی { یک breakpoint بزار و بعد برنامه رو اجرا کن و روی هدر کلیک کن و با توقف برنامه، با F11 برنامه رو تریس کن و ببین روی چه خطی هطا داد میشه.

silvers
سه شنبه 05 فروردین 1393, 12:05 عصر
دیتاگرید با یه جدول پر می شه:



private void showDriverDataGridView()
{
DriverClass drv = new DriverClass();
dataGridView1.DataSource = drv.showDrivers();
changeDataGridViewHeaderTexts();
}


private void changeDataGridViewHeaderTexts()
{
dataGridView1.Columns[0].HeaderText = "شناسه";
dataGridView1.Columns[1].HeaderText = "نام";
dataGridView1.Columns[2].HeaderText = "سن";
dataGridView1.Columns[3].HeaderText = "تاهل";
dataGridView1.Columns[4].HeaderText = "کد ملی";
dataGridView1.Columns[5].HeaderText = "شماره پرسنلی";
dataGridView1.Columns[6].HeaderText = "استخدام";
dataGridView1.Columns[7].HeaderText = "تلفن";
dataGridView1.Columns[8].HeaderText = "موبایل";
dataGridView1.Columns[9].HeaderText = "آدرس";
dataGridView1.Columns[10].HeaderText = "نام اتوموبیل";
dataGridView1.Columns[11].HeaderText = "مدل اتوموبیل";
dataGridView1.Columns[12].HeaderText = "کارت سوخت";
dataGridView1.Columns[13].HeaderText = "پلاک اتوموبیل";
}



روی همون خط اول خطا داد

sohil_ww
سه شنبه 05 فروردین 1393, 12:32 عصر
اگه از روش ado.net برای واکشی اطلاعات استفاده می کنی نیاز داری تا datamember گریدتم مقدار بدی

در کل این ارور واسه اینه که شما گریدت مقداری درونش نیست و می خواید تیتر هدراشو عوض کنید
موفق باشید

Mahmoud.Afrad
سه شنبه 05 فروردین 1393, 13:00 عصر
به جای ToString از convert استفاده کن.

txtName.Text = Convert.ToString(dataGridView1.CurrentRow.Cells[1].Value);

silvers
سه شنبه 05 فروردین 1393, 16:23 عصر
به جای ToString از convert استفاده کن.

txtName.Text = Convert.ToString(dataGridView1.CurrentRow.Cells[1].Value);


جواب نداد.


در کل این ارور واسه اینه که شما گریدت مقداری درونش نیست و می خواید تیتر هدراشو عوض کنید
حتی با تغییر ندادن هدرها هم مشکل پابرجاست.

Mahmoud.Afrad
سه شنبه 05 فروردین 1393, 18:28 عصر
روی همون خط اول خطا داد

کدوم خط اول.
اگر میتونی پروژه رو بزار.

silvers
چهارشنبه 06 فروردین 1393, 01:31 صبح
اینجا
txtName.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();

sohil_ww
چهارشنبه 06 فروردین 1393, 01:54 صبح
پروژرو بزاری راحت تر می تونیم کمکت کنیم

Mahmoud.Afrad
چهارشنبه 06 فروردین 1393, 11:58 صبح
هر جا value یک سلول ممکنه null باشه قبلش چک کن و اگر null بود تصمیم بگیر و یا از convert.tostring استفاده کن.
هر جا از currentrow استفاده کردی قبلش چک کن null نباشه. (پیغام خطاها به خاطر عدم رعایت همین موضوعه)
به جای اندیس از نام ستون استفاده کن تا اگر ستونها جابجا شدن نیاز نباشه اندیس ها رو تغییر بدی.
یه فکری به حال سطوح دسترسی بکن. مثلا در حال حاضر هر شخصی وارد برنامه بشه میتونه نام و رمز عبور دیگران رو ببینه و حتی تغییر بده.(معمولا این طور فرض میشه که ممکنه از یک برنامه روی یک کامپیوتر چند نفر استفاده کنند.).
کوئری های sql رو با استفاده از پارامتر بنویس. قبلا مثال زده شده جستجو کنید.


private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow != null)
{
txtName.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userName"].Value);
txtAge.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userAge"].Value);
txtSabeghe.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userSabeghe"].Value);
txtCodeMelli.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userCodeMelli"].Value);
txtTel.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userTel"].Value);
txtMobile.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userMobile"].Value);
txtAddress.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userAddress"].Value);
txtPass.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userPass"].Value);
}
}

silvers
چهارشنبه 06 فروردین 1393, 21:23 عصر
هر جا value یک سلول ممکنه null باشه قبلش چک کن و اگر null بود تصمیم بگیر و یا از convert.tostring استفاده کن.
هر جا از currentrow استفاده کردی قبلش چک کن null نباشه. (پیغام خطاها به خاطر عدم رعایت همین موضوعه)
به جای اندیس از نام ستون استفاده کن تا اگر ستونها جابجا شدن نیاز نباشه اندیس ها رو تغییر بدی.
یه فکری به حال سطوح دسترسی بکن. مثلا در حال حاضر هر شخصی وارد برنامه بشه میتونه نام و رمز عبور دیگران رو ببینه و حتی تغییر بده.(معمولا این طور فرض میشه که ممکنه از یک برنامه روی یک کامپیوتر چند نفر استفاده کنند.).
کوئری های sql رو با استفاده از پارامتر بنویس. قبلا مثال زده شده جستجو کنید.


private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow != null)
{
txtName.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userName"].Value);
txtAge.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userAge"].Value);
txtSabeghe.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userSabeghe"].Value);
txtCodeMelli.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userCodeMelli"].Value);
txtTel.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userTel"].Value);
txtMobile.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userMobile"].Value);
txtAddress.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userAddress"].Value);
txtPass.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["userPass"].Value);
}
}


ممنون محمود جان. خیلی لطف کردید.
یه سوال دیگه. من دیتابیس رو از اول با SQL Server Management Studio درست کردم. حالا اگه بخوام رو سیستم مشتری نصبش کنم باید sql server رو هم نصب کنم. میشه کاری کرد که این مشکل رو حذف کنم؟

r4hgozar
پنج شنبه 07 فروردین 1393, 21:06 عصر
سلام.
من بصورت دستی به اول جدول خودم یک checkbox اضافه کردم.
می خوام با دستور زیر داده ها رو از دیتابیس حذف کنم اما با مشکل زیر مواجه میشم.
ممنون میشم راهنمایی کنید
http://upload7.ir/imgs/2014-03/96213435786093063772.png


این هم کد کامل


foreach (DataGridViewRow item in dgw2.Rows)
{


if ((bool)dgw2.CurrentRow.Cells[0].Value == true)
{
id = Convert.ToInt32(dgw2.CurrentRow.Cells[1].Value);
db.SPDeleteBook(id);
dgw2.DataSource = db.SPselect();

}

دارم با پروسیجر و entity داده رو حذف می کنم.

Mahmoud.Afrad
جمعه 08 فروردین 1393, 16:20 عصر
foreach (DataGridViewRow row in dgw2.Rows)
{
if (Convert.ToBoolean(row.Cells[0].Value) == true && row.Cells[1].Value != null)
{
id = Convert.ToInt32(row.Cells[1].Value);
db.SPDeleteBook(id);
}
}
db.SaveChanges();
dgw2.DataSource = db.SPselect();

siroos_friend
شنبه 09 فروردین 1393, 10:17 صبح
سلام دوست عزیز
از عکسی که گذاشتید مشخصه که dgw2.CurrentRow.Cells[0] هیچ مقداری نداره و وقتی .value رو جهت گرفتن مقدار به کد اضافه میکنید داره ارور NullExeption بر میگردونه.
یه سوال ازتون داشتم اگه مقدارش True باشه هم این ارور رو میده؟ یعنی امتحان کردید ببنید اگه اولین Row مقدار Cell[0] v رو True بذارید به ارور میخورید یا نه؟

اگه وقتی True باشه ارور نده سعی کنید برای این فیلد یه مقدار default قرار بدید تا با این ارور روبرو نشید. یا قبل از این IF که ارور داره یه If دیگه قرار بدید جهت چک کردنه Null بودن dgw2.CurrentRow.Cells[0] و در صورت Null نبودن وارد if دوم بشه.




وقتی می خوام چند سطر رو حذف کنم و از چک باکس استفاده می کنم/

اما با ارور زیر مواجه میشم.

ممنون میشم کمکم کنید


http://upload7.ir/imgs/2014-03/96213435786093063772.png



این هم کدم



foreach (DataGridViewRow item in dgw2.Rows)
{


if ((bool)dgw2.CurrentRow.Cells[0].Value == true)
{
id = Convert.ToInt32(dgw2.CurrentRow.Cells[1].Value);
db.SPDeleteBook(id);
dgw2.DataSource = db.SPselect();

}




}

r4hgozar
شنبه 09 فروردین 1393, 12:11 عصر
ممنون دست عزیز.
بله چک کردم.
مثلا وقتی کد زیر رو به صورت زیر در میارم جواب می گیرم





foreach (DataGridViewRow item in dgw2.Rows)
{


if ((bool)dgw2.CurrentRow.Cells[0].Value == true)
{
label5.Text=dgw2.CurrentRow.Cells[1].Value.ToString();

}




}




این کد سالمه. اما وقتی از دستور حذف استفاده می کنم ارور میده!!!

r4hgozar
شنبه 09 فروردین 1393, 12:20 عصر
جالب اینجاس که داده رو حذف می کنه اما ارور میده.
احساس می کنم if یا forech مشکل داشته باشه.
کسی نظری نداره؟

Mousavmousab
شنبه 09 فروردین 1393, 13:23 عصر
if (!string.IsNullOrEmpty(dgw2.CurrentRow.Cells[0].Value ))
{
id = Convert.ToInt32(dgw2.CurrentRow.Cells[1].Value);
db.SPDeleteBook(id);
dgw2.DataSource = db.SPselect();

}

r4hgozar
شنبه 09 فروردین 1393, 13:52 عصر
دوست عزیز این نمی تونه string باشه.
اینجا ارور میده که داده bool یاید استفاده بشه نه string
چون سلول اول من چک باکس.

khokhan
شنبه 09 فروردین 1393, 14:38 عصر
دوست عزیز این نمی تونه string باشه.
اینجا ارور میده که داده bool یاید استفاده بشه نه string
چون سلول اول من چک باکس.


private void button1_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if ((bool)row.Cells[0].Value)
{
dataGridView1.Rows.Remove(row);
// کدهای مربوط به حذف
}
}
}


همچنین :


private void button1_Click(object sender, System.EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DataGridViewCheckBoxCell checkBox = row.Cells["check"] as DataGridViewCheckBoxCell;
if (checkBox != null && checkBox.Value != null && (bool)checkBox.Value)
{
//حذف ردیفهای انتخابی
}


}


}

r4hgozar
شنبه 09 فروردین 1393, 15:05 عصر
ممنون دوست عزیز.
اما دستور اول که کار نکرد.
دستور دوم درست عمل کرد. اما فقط یه مشکل داره که فقط سلولی که آخرین دفعه انتخاب میشه رو حذف می کنه.
و بقیه سلول ها پاک نمی شه.

khokhan
شنبه 09 فروردین 1393, 16:25 عصر
ممنون دوست عزیز.
اما دستور اول که کار نکرد.
دستور دوم درست عمل کرد. اما فقط یه مشکل داره که فقط سلولی که آخرین دفعه انتخاب میشه رو حذف می کنه.
و بقیه سلول ها پاک نمی شه.
اینو امتحان کن :


private void btnDelete_Click(object sender, System.EventArgs e)
{
con.Open();
for (int x = dataGridView1.Rows.Count - 1; x >= 0; x--)
{

if ((bool)dataGridView1.Rows[x].Cells["checked"].Value == true)
{
da = new OleDbDataAdapter("Delete from list", con);
dataGridView1.Rows.Remove(dataGridView1.Rows[x]);
}
}
}

r4hgozar
شنبه 09 فروردین 1393, 17:25 عصر
سلام.
چون من از entity استفاده می کنم. کد رو به صورت زیر تبدیل کردم.
اما این بار ارور داد.


و اینکه من اگه در شرط ها Cells["checked"] استفاده کنم ارور میده.
مجبورم جاب اون بزارم Cells[0].

r4hgozar
شنبه 09 فروردین 1393, 22:44 عصر
اقا من فهمیدم مشکل از شرطمه.
من نباید currentrow رو چک کنم.
اما باید چی کار کنم؟؟!!
خسته شدم خدایی.
من فقط باید تمام سطر هایی که انتخاب میشه مقدار سلول شماره یک رو در بیارم.

Mahmoud.Afrad
شنبه 09 فروردین 1393, 23:14 عصر
کد بنده و khokhan (http://barnamenevis.org/member.php?131732-khokhan) چه مشکلی داره؟

meysam_online2012
جمعه 22 فروردین 1393, 22:12 عصر
117863

سلام خدمت مهندسین عزیز

کسی میدونه این ارور چه دلیلی داره؟

ممنون

behzadkhan
جمعه 22 فروردین 1393, 22:27 عصر
با سلام

اگر اشتباه نکرده باشم خاصیت text اون کنترل تهی بوده است.

برای مطمئن شدن پیشنهاد می کنم که trace کنی.

با تشکر

meysam_online2012
جمعه 22 فروردین 1393, 23:49 عصر
با سلام

اگر اشتباه نکرده باشم خاصیت text اون کنترل تهی بوده است.

برای مطمئن شدن پیشنهاد می کنم که trace کنی.

با تشکر

ممنون ولی کاراکتر A رو کنترل نوشتم

behzadkhan
شنبه 23 فروردین 1393, 00:05 صبح
ظاهرا اون شیئی که این رویداد را فرا می خونه null شده.

می تونی اون قسمت از کدتو که این رویداد را فراخونی می کنه نشون بدی.

یا

بگی برنامت دقیقا چه کاری را نشون میده.

باتشکر

meysam_online2012
شنبه 23 فروردین 1393, 13:37 عصر
ظاهرا اون شیئی که این رویداد را فرا می خونه null شده.

می تونی اون قسمت از کدتو که این رویداد را فراخونی می کنه نشون بدی.

یا

بگی برنامت دقیقا چه کاری را نشون میده.

باتشکر

سلام
من از telerik button استفاده میکنم احتمال داره به خاطر اون باشه
چطور باید درستش کنم؟

behzadkhan
شنبه 23 فروردین 1393, 13:47 عصر
با سلام

برای اینکه مطمئن بشی از تلریک هست

یک بار با کنترل های استاندارد ویژوال استودیو این کار رو انجام بده.

با تشکر

meysam_online2012
شنبه 23 فروردین 1393, 13:49 عصر
با سلام

برای اینکه مطمئن بشی از تلریک هست

یک بار با کنترل های استاندارد ویژوال استودیو این کار رو انجام بده.

با تشکر

اینکارو کردم از همونه فقط اگه میشه بگین چطور درستش کنم

ممنون

behzadkhan
شنبه 23 فروردین 1393, 15:53 عصر
با سلام

شما کدام ورژن Telerik را استفاده می کنید؟

آیا این امکان و جود دارد که برنامتون را بزارید؟

با تشکر

meysam_online2012
شنبه 23 فروردین 1393, 17:44 عصر
با سلام

شما کدام ورژن Telerik را استفاده می کنید؟

آیا این امکان و جود دارد که برنامتون را بزارید؟

با تشکر

اولا خیلی ممنون که جواب می دین
دوما کد برنامه رو با عرض شرمندگی نمیتونم بذارم
سوما از تلریک 2013 استفاده می کنم
چهارما خیلی ممنون

programerinfonet
پنج شنبه 04 اردیبهشت 1393, 14:00 عصر
سلام دوستان
من تو برنامم فرممو تا الان اجرا می کردم مشکلی نداشت الان خطای object reference not set to an instance of on object میده
کدمم هم همینه :
SooratJalaseh.Mahdoud.Majma maj = new SooratJalaseh.Mahdoud.Majma();
maj.Show();

علی متقی پور
پنج شنبه 04 اردیبهشت 1393, 14:30 عصر
با سلام

از طریق این کد کسی نمیتونه کمکی کنه. عملیات های قبل از لود شدن فرم رو باید دیباگ کنید.
ضمنا نام گذاریتون فوق العاده بده

mohan21
جمعه 12 اردیبهشت 1393, 00:01 صبح
با سلام

بنده برنامه ای آماده کرده ام که در سیستم مشتری خطای زیر را می دهد.
در صورتی که برنامه را بر روی سیستم خودم نصب میکنم خطا نمیدهد و بخوبی اجرا می شود.


See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.


************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Lottery.Login.btnEnter_Click(Object sender, EventArgs e) in d:\myApp\Login.cs:line 42
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)




************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6400 (Win8RTMGDR.050727-6400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Lottery
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Lottery-Setup/Lottery.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6402 (Win8RTMGDR.050727-6400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6401 (Win8RTMGDR.050727-6400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6401 (Win8RTMGDR.050727-6400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6387 (Win8RTM.050727-6300)
CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6411 (Win8RTMGDR.050727-6400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6411 (Win8RTMGDR.050727-6400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6387 (Win8RTM.050727-6300)
CodeBase: file:///C:/Windows/assembly/GAC_64/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.6387 (Win8RTM.050727-6300)
CodeBase: file:///C:/Windows/assembly/GAC_64/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------


************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.


For example:


<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>


When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Mahmoud.Afrad
جمعه 12 اردیبهشت 1393, 00:04 صبح
کد کلاس درون فایل Login.cs رو بزار

mohan21
جمعه 12 اردیبهشت 1393, 00:24 صبح
از این خط
if (newDataSet.Tables[0].Rows.Count > 0)

اتصال به بانک
this.objSqlConnection.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\db\Lottery.mdf;Integrated Security=True;User Instance=False";


در کامپیوتر خودم مشکلی نداره، برنامه رو نصب میکنم بخوبی اجرا میشه، اما در کامپیوتر دیگه هنگام اجرا و رسیدن به این خط که در واقع صحت ورودی را بر میگرداند خطا میدهد ....