near_86
دوشنبه 02 اردیبهشت 1387, 09:42 صبح
سلام
در رویداد textchange ی combo box کدی نوشتم که با وارد کردن هر کارکتر در صورت وجود در دیتا بیس ی لیست نمایش داده میشه
ولی با دو مشکل مواجه میشم
1- زمانی که فرم باز میشه و در combo اولین حرف وارد میشه جستجویی انحام نمیشه
(ولی بعد از حذف کارکتر و وارد کردن کارکتر دوباره جستجو انجام میشه)
2- بعد از چند بار جستجو با خطای زیر روبرو میشم
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Me.cmb_nbook.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppen d
Me.cmb_nbook.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSour ce
Dim maxcode AsInteger
Dim I AsInteger
PubSqlCom.CommandText = " select Count(*) from book where bname like N'%" & cmb_nbook.Text & "%' and cbook1 is not null"
PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
'--------------------------------------------
maxcode = PubSqlCom.ExecuteScalar
Dim codelist(maxcode) AsString
If maxcode = 0 Then
' MsgBox("ىیچ §ں묤ییی ں뢦ں 묧ى ں«¢")
codelist(0) = "error"
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
'Exit Sub
Else
PubSqlCom.CommandText = "SELECT bname from book where bname like N'%" & cmb_nbook.Text & "%' and cbook1 is not null"
'PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
PubSqlDR = PubSqlCom.ExecuteReader()
I = 0
While PubSqlDR.Read()
codelist(I) = Trim(PubSqlDR.Item("bname").ToString)
cmb_nbook.AutoCompleteCustomSource.Add(PubSqlDR.It em("bname").ToString)
I += 1
EndWhile
EndIf
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
در رویداد textchange ی combo box کدی نوشتم که با وارد کردن هر کارکتر در صورت وجود در دیتا بیس ی لیست نمایش داده میشه
ولی با دو مشکل مواجه میشم
1- زمانی که فرم باز میشه و در combo اولین حرف وارد میشه جستجویی انحام نمیشه
(ولی بعد از حذف کارکتر و وارد کردن کارکتر دوباره جستجو انجام میشه)
2- بعد از چند بار جستجو با خطای زیر روبرو میشم
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Me.cmb_nbook.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppen d
Me.cmb_nbook.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSour ce
Dim maxcode AsInteger
Dim I AsInteger
PubSqlCom.CommandText = " select Count(*) from book where bname like N'%" & cmb_nbook.Text & "%' and cbook1 is not null"
PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
'--------------------------------------------
maxcode = PubSqlCom.ExecuteScalar
Dim codelist(maxcode) AsString
If maxcode = 0 Then
' MsgBox("ىیچ §ں묤ییی ں뢦ں 묧ى ں«¢")
codelist(0) = "error"
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
'Exit Sub
Else
PubSqlCom.CommandText = "SELECT bname from book where bname like N'%" & cmb_nbook.Text & "%' and cbook1 is not null"
'PubSqlCom.Connection = PubSqlCon
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()
If PubSqlCon.State = ConnectionState.Closed Then PubSqlCon.Open()
PubSqlDR = PubSqlCom.ExecuteReader()
I = 0
While PubSqlDR.Read()
codelist(I) = Trim(PubSqlDR.Item("bname").ToString)
cmb_nbook.AutoCompleteCustomSource.Add(PubSqlDR.It em("bname").ToString)
I += 1
EndWhile
EndIf
If PubSqlCon.State = ConnectionState.Open Then PubSqlCon.Close()