PDA

View Full Version : مبتدی: select کردن در linq و سپس ارسال اطلاعات به دیتابیس؟؟؟؟



aliramazani
جمعه 10 تیر 1390, 16:52 عصر
من یه جدولی دارم که شامل فیلدهای زیره: test number standard min max می خوام اطلاعات از طریق linq به جدول ارسال بشه. (با این مشکلی ندارم و دستوراتش را به درستی نوشتتم) مشکل اینجاست! می خوام یه شرط بزارم اگه مقدار تکس باکس row1 و textbox41 من با مقادیر test و standard توی جدول یکسان بود پیغام خطا بده. یه چیزی تو مایه هایه اعتبار سنجی و لوگین! دستور زیر را نوشتم ولی با کلیک بر روی دکمه ارسال هیچ اتفاقی نمی افته!! این دستورات مال رویداد دکمه ارساله:


var db = new LINQDataContext();
var t = (from item in db.limits
select new { item.test, item.standard });


foreach (var item in t)
{

if (Convert.ToString(item.test) != row1.Text && Convert.ToString(item.standard) != textBox41.Text)
{
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("1"), Convert.ToInt32(textBox41.Text), tmin1.Text, tmax1.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("2"), Convert.ToInt32(textBox41.Text), tmin2.Text, tmax2.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("3"), Convert.ToInt32(textBox41.Text), tmin3.Text, tmax3.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("4"), Convert.ToInt32(textBox41.Text), tmin4.Text, tmax4.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("5"), Convert.ToInt32(textBox41.Text), tmin5.Text, tmax5.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("6"), Convert.ToInt32(textBox41.Text), tmin6.Text, tmax6.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("7"), Convert.ToInt32(textBox41.Text), tmin7.Text, tmax7.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("8"), Convert.ToInt32(textBox41.Text), tmin8.Text, tmax8.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("9"), Convert.ToInt32(textBox41.Text), tmin9.Text, tmax9.Text);
db.limitpSave(Convert.ToInt32(row1.Text), Convert.ToInt32("10"), Convert.ToInt32(textBox41.Text), tmin10.Text, tmax10.Text);
MessageBox.Show("حدود تعیین شده برای این آزمون با مبنای در نظر گرفته شده ثبت شد", "OK!");

}
else
{
MessageBox.Show("حدود تعیین شده برای این آزمون با مبنای در نظر گرفته شده ثبت شد", "OK!");

}

aliramazani
جمعه 10 تیر 1390, 21:17 عصر
کسی جواب نمیده؟

jahanmanesh
یک شنبه 12 تیر 1390, 21:59 عصر
سلام ببین این به کارت میاد؟




if (
(from d in db.limits where d.test==row1.text && d.standard==textbox41.text
select d).any()
)
{...}
else{}






میدونی که متد any بولین بر میگردون،اگر رکوردی توو اون دیتاسورس با مشخصاتی که توو شرط براش بیان کردی وجود داشته باشه،true بر میگردونه

jahanmanesh
یک شنبه 12 تیر 1390, 22:02 عصر
البته میتونی بجای اینکه دیتاکانتکستو از دیتاکانتکس اصلیت نمونه بگیری،از دیتاسورس جدولت نمونه بگیری

var q = datagird1.itemsource;


البته من wpf کار میکنم ، نمیدونم توو ویندوز فرم ها هم میشه اینجوری نمونه گیری کرد یا نه