View Full Version : سرچ کردن
hiiva1
شنبه 28 تیر 1393, 17:31 عصر
من یک table دارم که از دو قسمت لغت و معنی تشکیل شده!
من کدی میخوام که بر اساس لغت سرچ کنه و در DataGridView فقط معنیو نشون بده.
با linq to sql هم دارم کار میکنم.
تشکر
parvizwpf
شنبه 28 تیر 1393, 20:56 عصر
ساختار جدول رو اینجا بگذارید. نام کانتکست چیه؟
hiiva1
شنبه 28 تیر 1393, 21:16 عصر
ساختار جدول چیز خاصی نیست. شما در نظر بگیر دو ستونست! لغت و معنی.
learningtv.i
شنبه 28 تیر 1393, 21:53 عصر
سلام دوست عزیز.قبلش عذر خواهی می کنم.کد رو همین الان دستی نوشتم.ممکنه سمی کالن یا حروف بزرگ و کوچک اشتباه کردم.ولی ساختار واضح هست.می تونی به صورت زیر عمل کنی.
using(mydbdatacontex db=new mydbdatacontext())
{
var query=from r in db.dictionary
where r.word=="myword"
select r.means
datagridview1.datasource=query.ToList();
}
البته من کد رو دستی نوشتم ببخشید اگر حروف بزرگ و کوچک اشتباه شده.ولی منظور رو رسوندم.واضح هست.برای Context نام mydbdataContext رو در نظر گرفتم و ازش یک شیء ساختم به اسم db برای اتصال.
در ادامه یک متغیر query تعریف کردم و با استفاده از ساختار دستورات LINQ کوئری نوشتم که یک لغت به اسم myword رو فیلتر می کنه و ستون معنی که اسمش رو means گذاشتم انتخاب می کنم.
توی خروجی datagridview هم نتیجه نشان داده میشه.
امیدوارم که مشکل حل بشه.
موفق باشید.
hiiva1
یک شنبه 29 تیر 1393, 21:13 عصر
ممنون جواب دادین. کد زیر اون قسمتی که سبز رنگه کدای قبلیمن که سرچ میکرد ولی هردوتا ستونو میاورد. کدای شمارو میذارم قسمت دیتاکانتکست زیرش قرمز میشه که من نمیدونم چطور حلش کنم.
من کلا سه روزه دارم دیتا بیس کار میکنم. کلا بلدم جدول بسازم. با linq to sql بهش متصل بشم. زیاد این کدی که گفتید برام اشنا نیست! فک کنم چندروز دیگه باید کار کنم روی مطالب دیتا بیس.
کلا تو نرم افزار نویسی تازه کارم.
privatevoid txt_search_TextChanged(object sender, EventArgs e)
{
//var db = new linqDataContext();
////if (txt_search.Text != "")
//// dataGridView1.DataSource = db.tbl_users;
////else
// dataGridView1.DataSource = db.tbl_users.Where(c => c.familly.Substring(0,
// txt_search.Text.Length) == txt_search.Text).Select(c => c);
using(mydbdatacontex db=new mydbdatacontext())
{
var query=from r in db.dictionary
where r.word=="myword"
select r.meansdatagridview1.datasource=query.ToList();
}
}
parvizwpf
یک شنبه 29 تیر 1393, 21:26 عصر
آیا نام کانتکست شما mydbdatacontex هست؟
آیا نام جدول شما dictionary هست؟
آیا جدول شما دارای فیلد word هست؟
learningtv.i
دوشنبه 30 تیر 1393, 00:53 صبح
من که گفتم متغیر ها ی من نامشان توسط بنده انتخاب شده .شما به جای متغیر های بنده نام متغیر های خودتون رو قرار بدین.این که دیگه کار سختی نیست.
hiiva1
دوشنبه 30 تیر 1393, 21:32 عصر
آیا نام کانتکست شما mydbdatacontex هست؟
من معنی کانتکست رو نمیدونم !!!!!!!!!! برا همین گفتم باید بیشتر کار کنم! :(
parvizwpf
دوشنبه 30 تیر 1393, 22:16 عصر
وقتی اون قایل dbml رو ساختید، توی کد شروع کنید به تایپ context تا ببینید چه چیزهایی دارید معمولا خودتون موقع ساخت اون فایل براش اسم میگذارید.
learningtv.i
دوشنبه 30 تیر 1393, 22:18 عصر
وقتی که به پروژه تون فایل linq to sql رو با پسوند dbml اضافه کردید اسمش رو چی گذاشتید.در اکثر موارد همون اسم میشه اسم context.مثلا اگر اسمش رو mydb.dbml گذاشته باشید میشه mydbContext.
بقیه موارد هم آسون هست.اسم جدولتون چی هست؟؟؟؟هر چی هست به جای dictionary توی کد بنده نوشتم قرار باید بگیره.و بقیه فیلد ها هم به همین ترتیب.
hiiva1
جمعه 10 مرداد 1393, 22:16 عصر
چند روز نبودم! امروز برنامرو همین جور که گفتید نوشتمش.
جدول یک ستونش اسمش eng و یکی دیگه fa
ولی در جواب داره میزنه length و زیرشم فکر میکنم داره طول ارایه میزنه!
لینک عکسو میذارم براتون : http://www.xum.ir/images/2014/08/01/Untitledc5cd6.png
parvizwpf
جمعه 10 مرداد 1393, 22:32 عصر
کد رو بگذارید.
hiiva1
جمعه 10 مرداد 1393, 22:47 عصر
کد رو بگذارید.
داخل عکس معلومه! چند خط بیشتر نیست. همون کدای پست شماره 4 هسته تقریبا
parvizwpf
شنبه 11 مرداد 1393, 14:28 عصر
عجیبه که شما میگید فیلد fa رو بیار اون داره length نشون میده!!!!. اصلا این فیلد چی هست؟ از کجا اومده؟
hiiva1
شنبه 11 مرداد 1393, 22:11 عصر
عجیبه که شما میگید فیلد fa رو بیار اون داره length نشون میده!!!!. اصلا این فیلد چی هست؟ از کجا اومده؟
فیلد eng کلمه های انگلیسی داخلشه. fa معنی داخلشه.
parvizwpf
شنبه 11 مرداد 1393, 23:20 عصر
اینو میدونم ولی مطمئنید که قبل و بعد از اون کد چیز اضافیه دیگه ای ننوشتید؟ چون وقتی ستون fa رو میخونید باید مقادیر همون فیلد نمایش داده بشه. الان خروجی برنامه با کد همخون نیست انگار یه کد دیگه اجرا میشه
hiiva1
دوشنبه 13 مرداد 1393, 22:09 عصر
اینو میدونم ولی مطمئنید که قبل و بعد از اون کد چیز اضافیه دیگه ای ننوشتید؟ چون وقتی ستون fa رو میخونید باید مقادیر همون فیلد نمایش داده بشه. الان خروجی برنامه با کد همخون نیست انگار یه کد دیگه اجرا میشه
من میخوام فقط برای یادگیری یک دیگشنری بسازم که کار با دیتابیسو اینجورچیزارو یاد بگیرم.
یک دیگشنری که وقتی حروفو وارد میکنم کلمه هایی که اولشون اون حروفا هستو برام لیست کنه.
و وقتی روی یکی از کلمه های لیست کلیک میکنم معنیشو داخل یک rich تکست باکس یا هرچیزی نشون بده. دقیقا مثل بابیلون! یا این عکسی که گذاشتم.
http://www.xum.ir/images/2014/08/04/Untitled4ddc7.png
siamat
چهارشنبه 15 مرداد 1393, 17:55 عصر
شما به احتمال زیاد دارید از این کد یا یه چیزی مشابه این کد استفاده می کنید
// txt_search.Text.Length) == txt_search.Text).Select(c => c);
که این جواب شما توی عکس رو بر می گردونه اون رو حذف کنید یا اینکه کل کد رو کپی کنید تا ببینیم چرا جواب با کد همخوانی نداره
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.