PDA

View Full Version : چرا 30 شارپ، خط کد منو اجرا نمی کنه؟؟



AlgorithmX
سه شنبه 24 خرداد 1390, 18:43 عصر
سلام!

دوستان در سورس زیر فرم من اجرا شده ولی اون خطی که بالن داره(خط 38) اجرا نمیشه. در نتیجه جدول من بارگزاری نمیشه!!
71171
حالا جالب اینه که اگر اون خط رو قبل از حلقه For بزارم کارم اجرا میشه!!
71172

چرا؟ و چطوری درستش کنم؟؟؟

amir-yeketaz
سه شنبه 24 خرداد 1390, 19:31 عصر
وقتی شما دارین به دیتاسورس گرید اون دیتاتیبل رو بایند میکنین دیگه چرا دوباره بایند میکنید!!!!!!
وقتی اطلاعات بایند هست فقط یه ریفرش نیازه که از همین متد با همین نام در دیتاگریدویو میتونید استفاده کنید!

AlgorithmX
سه شنبه 24 خرداد 1390, 20:14 عصر
وقتی شما دارین به دیتاسورس گرید اون دیتاتیبل رو بایند میکنین دیگه چرا دوباره بایند میکنید!!!!!!
وقتی اطلاعات بایند هست فقط یه ریفرش نیازه که از همین متد با همین نام در دیتاگریدویو میتونید استفاده کنید!

فدات شم سورس اصلی من عکس اوله!
و در عکس دوم گفتم که اگر جای خط سورس رد قبل از حلقه For بزارم اون خط اجرا میشه!

ببین (توی عکس اول) برنامه من اطلاعات رو از یک فایل متنی میگیره که نه جدول داره نه رکورد!
مجبورم برای این که بتونم اطلاعاتشو توی دیتاگرید نمایش بدم ، یک دیتاتیبل بسازم و به هر حال بایست دیتاگرید برابر بشه با دیتاتیبل (dataGridView1.DataSource = dt;)
حالا اون خط سورس من ایجا نمیشه!!

amir-yeketaz
سه شنبه 24 خرداد 1390, 22:05 عصر
فدات شم سورس اصلی من عکس اوله!
و در عکس دوم گفتم که اگر جای خط سورس رد قبل از حلقه For بزارم اون خط اجرا میشه!

ببین (توی عکس اول) برنامه من اطلاعات رو از یک فایل متنی میگیره که نه جدول داره نه رکورد!
مجبورم برای این که بتونم اطلاعاتشو توی دیتاگرید نمایش بدم ، یک دیتاتیبل بسازم و به هر حال بایست دیتاگرید برابر بشه با دیتاتیبل (dataGridView1.DataSource = dt;)
حالا اون خط سورس من ایجا نمیشه!!

آها! ببخشید! ... البته اونی که گفتم کلا جواب مشکل تو نبود! ... یه چیز کلی بود!

در مورد مشکلتم اگه قبل از خط ۳۶(عکس اول!) بذاری dt.NewRow(); مشکل حله به احتمال زیاد!



موفق باشید ...

imanamami
سه شنبه 24 خرداد 1390, 22:21 عصر
دوست عزیز واسه این مشکل شما من خودمو کشتم و یافتم.می دونی چقدر سختی کشیدم تا اینو بفهمم.
فقط کافی است باز گزینه Build-Rebuild Solution رو بزن درست میشه
موفق باشید

AlgorithmX
سه شنبه 24 خرداد 1390, 22:33 عصر
آها! ببخشید! ... البته اونی که گفتم کلا جواب مشکل تو نبود! ... یه چیز کلی بود!

در مورد مشکلتم اگه قبل از خط ۳۶(عکس اول!) بذاری dt.NewRow(); مشکل حله به احتمال زیاد!



موفق باشید ...


دوست عزیز واسه این مشکل شما من خودمو کشتم و یافتم.می دونی چقدر سختی کشیدم تا اینو بفهمم.
فقط کافی است باز گزینه Build-Rebuild Solution رو بزن درست میشه
موفق باشید




آقایا عزیز هر دوروش حل نشد!:افسرده:

imanamami
سه شنبه 24 خرداد 1390, 22:37 عصر
امکان نداره .از عکس هایی که گذاشتی متوجه نشدم.
ولی مشکل من این بود یک text میگذاشتم روی فرم بعد که اجرا می کردم نشون داده نمی شد.
اصلا کامپایل نمی شد

mmd2009
سه شنبه 24 خرداد 1390, 23:01 عصر
با سلام.

البته فکر نکنم تاثیر داشته باشه چون هر دو کد یک کارو انجام میدن ولی با این حال اینو هم تست کن.


DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Family", typeof(string));
dt.Columns.Add("Age", typeof(int));

if(System.IO.File.Exists("D:\\1.txt"))
{
StreamReader ReadData = new StreamReader("D:\\1.txt");
string All = ReadData.ReadToEnd();
ReadData.Close();
string[] Record = All.Split(';');
for(int i=0;i<Record.Length;i++)
{
DataRow dr=dt.NewRow();
string[] Cell = Record[i].Split('+');
dr[0]=Cell[0];
dr[1]=Cell[1];
dr[2]=Cell[2];
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
}


اگر ج نداد Clean Solution و Rebuild و .. رو چک کن ببین برنامت درست میشه.

AlgorithmX
سه شنبه 24 خرداد 1390, 23:16 عصر
ولی مجددا نشد!:عصبانی:

بزنم ..

mmd2009
سه شنبه 24 خرداد 1390, 23:32 عصر
درکت میکنم چه حسی داری چون منم بارها اینطوری شدم و متاسفانه همیشه هم جواب نهایی چه تو سایت های ایرانی چه خارجی روش Clean بوده ولی با این حال من سولوشن خودم رو برات میذارم و برنامه من رو اجرا کن ببین با این مشکلت حل میشه...

موفق باشید.

tooraj_azizi_1035
چهارشنبه 25 خرداد 1390, 08:59 صبح
سلام
اضافه کردن رکورد به جدول در Typed Dataset:
NorthwindDataSet.CustomersRow newCustomersRow =
northwindDataSet1.Customers.NewCustomersRow();

newCustomersRow.CustomerID = "ALFKI";
newCustomersRow.CompanyName = "Alfreds Futterkiste";

northwindDataSet1.Customers.Rows.Add(newCustomersR ow);


اضافه کردن رکورد به جدول در Untyped Dataset:


DataRow newCustomersRow = dataSet1.Tables["Customers"].NewRow();

newCustomersRow["CustomerID"] = "ALFKI";
newCustomersRow["CompanyName"] = "Alfreds Futterkiste";

dataSet1.Tables["Customers"].Rows.Add(newCustomersRow);


برای اضافه کردن ردیف حتماً باید از متد New و بعد Add استفاده کنی.

AlgorithmX
چهارشنبه 25 خرداد 1390, 12:34 عصر
سلام
اضافه کردن رکورد به جدول در Typed Dataset:
NorthwindDataSet.CustomersRow newCustomersRow =
northwindDataSet1.Customers.NewCustomersRow();

newCustomersRow.CustomerID = "ALFKI";
newCustomersRow.CompanyName = "Alfreds Futterkiste";

northwindDataSet1.Customers.Rows.Add(newCustomersR ow);


اضافه کردن رکورد به جدول در Untyped Dataset:


DataRow newCustomersRow = dataSet1.Tables["Customers"].NewRow();

newCustomersRow["CustomerID"] = "ALFKI";
newCustomersRow["CompanyName"] = "Alfreds Futterkiste";

dataSet1.Tables["Customers"].Rows.Add(newCustomersRow);


برای اضفه کردن ردیف حتماً باید از متد New و بعد Add استفاده کنی.


آقای عزیز مثل این که شما کلا سوال منو نخوندید! (یا شاید نفهمیدید!)


فدات شم سورس اصلی من عکس اوله!
و در عکس دوم گفتم که اگر جای خط سورس رد قبل از حلقه For بزارم اون خط اجرا میشه!

ببین (توی عکس اول) برنامه من اطلاعات رو از یک فایل متنی میگیره که نه جدول داره نه رکورد!
مجبورم برای این که بتونم اطلاعاتشو توی دیتاگرید نمایش بدم ، یک دیتاتیبل بسازم و به هر حال بایست دیتاگرید برابر بشه با دیتاتیبل (dataGridView1.DataSource = dt;)
حالا اون خط سورس من ایجا نمیشه!!

AlgorithmX
پنج شنبه 26 خرداد 1390, 10:22 صبح
یاالله!
کسی تو این تایپیک نیست یه نظری بده؟

tooraj_azizi_1035
شنبه 28 خرداد 1390, 09:33 صبح
سوال شما رو هم خوندم و هم فهمیدم بلکه شما توجهی به اونچه که گفتم نکردید، برای اضافه کردن یک ردیف به یک جدول حتماً باید از متد New استفاده کنید و مقدار بازگشتی اون رو در یک شیء DataRow بریزید و بعد مقدار فیلدها رو با استفاده از این شیء ست کرده در آخر با متد Add جدول شی DataRow را اضافه کنید
متغیری به این شکل خارج از حلقه تعریف کنید: DataRow dr;
بعد قبل از متد Add جدول این کد رو بنویسید: dr=dt.NewRow() و بعد dr[1]=cells[1]; dr[2]=cells[2]; و همینطور برای مابقی و در آخر dt.Add(dr);

سوال شما رو از این منبع جواب دادم: http://msdn.microsoft.com/en-us/library/5ycd1034(v=vs.80).aspx