PDA

View Full Version : آیا این امکان داره که برنامه بتونه توی رکوردها سرچ کنه و از هر رکورد هر کلمه که لازمه نشون بده؟؟



vahid_visualbasic
جمعه 03 خرداد 1387, 14:21 عصر
سلام دوستان من یک برنامه در ویژوال دات نت نوشتم که دیتابیس این برنامه در اکسس هست و دیتابیس این برنامه دیتابیس یه دیکشنری هست که شامله 53000 کلمه هست
ولی در هر رکورد از دیتابیس چند کلمه موجود هست.من میخوام اگه امکانش باشه یه دستور به برنامه بدم که در دیتابیس دنبال یک کلمه خاص بگرده مثلا وقتی از برنامه بخوایم کله کلمه هایی که در دیتابیس باحرف ب شروع شده رو نشون بده.من این کارو کردم ولی دیتابیس کله کلمه های موجود در اون رکورد رو نشون میده که بعضیهاشون بی ربطن.ادیت کردن دیتابیس 53000 رکوردی هم وقت میبره!!!! آیا این امکان داره که برنامه بتونه توی رکوردها سرچ کنه و از هر رکورد هر کلمه که لازمه نشون بده؟؟

ممنون میشم اگر جوابمو واضح بدین.آخه من تازه واردم و جایی بهتر از اینجا پیدا نکردم......

ali_habibi1384
جمعه 03 خرداد 1387, 19:14 عصر
شاید دلیلش اینه که شما اونا رو قبل از جستجو و وقیلتر مرتب نمی کنین. یکبار این کارو بکنین شاید نتیجه داد .

vahid_visualbasic
جمعه 03 خرداد 1387, 21:02 عصر
نه ببینید کاره برنامه من اینه که وقتی یه کلمه رو ازش میخوایم کلمه رو پیدا میکنه اما بقیه کلمه های داخل اون رکورد رو هم در کناره اون کلمه نشون میده در صورتی که من میخوام فقط همون کلمه رو نمایش بده به کاربر
بازم ممنون از راهنماییتون

SeyedMoosavi
جمعه 03 خرداد 1387, 22:52 عصر
می تونی مقداری از کدت رو بزاری؟
شاید بشه فهمید اشکالش کجاست

vahid_visualbasic
جمعه 03 خرداد 1387, 23:33 عصر
Dim i As Integer
i = TextBox1.Text.ToString.Length
If i <= 2 Then
Dim cn As OleDbConnection = New OleDbConnection(connectString)
cn.Open()
Dim selectString1 As String = "SELECT farsi FROM tbl_dictionary where (farsi like '%" + TextBox1.Text.Substring(i - 1) + "')"
Dim cmd As OleDbCommand = New OleDbCommand(selectString1, cn)
Dim da As New Oodo.DisplayMember = "farsi"
cn.Close()
ElseleDbDataAdapter(selectString1, cn)
Dim ds As New DataSet
da.Fill(ds, "tbl_dictionary")
Me.codo.DataSource = ds.Tables("tbl_dictionary")
Me.c()
Dim cn As OleDbConnection = New OleDbConnection(connectString)
cn.Open()
Dim selectString1 As String = "SELECT farsi FROM tbl_dictionary where (farsi like '%" + TextBox1.Text.Substring(i - 1) + "')"
Dim selectString2 As String = "SELECT farsi FROM tbl_dictionary where (farsi like '%" + TextBox1.Text.Substring(i - 2) + "')"
Dim selectString3 As String = "SELECT farsi FROM tbl_dictionary where (farsi like '%" + TextBox1.Text.Substring(i - 3) + "')"

SeyedMoosavi
شنبه 04 خرداد 1387, 00:08 صبح
شما یه کار کن فایل DB رو رکورد هاش رو پاک کن فقط یکی دوتاش رو بزار بفرست تا کدش رو برات بفرستم اگر در توانم بود

vahid_visualbasic
شنبه 04 خرداد 1387, 00:58 صبح
بفرمایید اینم فایل دیتابیس حجمش 7 کیلوبایت هست
http://www.4shared.com/file/48698503/6760f83a/db_online.html