2013-06-17 2 views
0

Я пытаюсь выполнить запрос SQL Select на основе ввода пользователем из поля Проверенный список. Мне удалось найти код, но решение, похоже, не работает. На отладке он держится на линии 3, и я понятия не имею, почему.Элементы CheckedListBox для SQL Select Statement

Любая помощь была бы признательна.

Dim DistrictString As StringBuilder = New StringBuilder() 
    For h = 0 To Me.District.CheckedItems.Count - 1 
     If Me.District.CheckedItems(h).Selected Then 
      DistrictString.Append(Me.District.CheckedItems(h).Value & ",") 
     End If 
    Next 

С некоторыми из рекомендаций, здесь вновь отредактированный вариант кода, то теперь сбой на линии Append.

Новая ошибка 'Public член 'Value' от типа 'Строка' не найден'

Dim DistrictW As String 
Dim DistrictX As String 
Dim DistrictString As StringBuilder = New StringBuilder 
    For h = 0 To Me.District.CheckedItems.Count - 1 
     DistrictString.Append(Me.District.CheckedItems(h).Value & ",") 
    Next 
DistrictW = DistrictString.ToString 
DistrictX = DistrictW.Substring(0, DistrictString.Length - 1) 
+3

"Crapping Out" не является сообщением об ошибке в VB.Net. – RBarryYoung

+0

Что означает «дерьмо»? – Zzz

+0

Я отлаживаю надстройку для ArcMap ESRI, и приложение сбой в этой строке. При сбое он не дает ошибки. Похоже, что ошибка «Публичный элемент« Выбран »по типу« String »не найден. – BrianJBaldwin

ответ

0

Спасибо всем, кто помог, это решение, которое я реализовал

Узнал много от этого мало упражнений.

Dim DistrictW As String 
Dim DistrictX As String 
Dim DistrictString As StringBuilder = New StringBuilder 
    For h = 0 To Me.District.CheckedItems.Count - 1 
     DistrictString.Append(Me.District.CheckedItems(h).ToString & ",") 
    Next 
DistrictW = DistrictString.ToString 
DistrictX = DistrictW.Substring(0, DistrictString.Length - 1) 
0
If Me.District.CheckedItems.Items(h).Selected Then 

    DistrictString.Append(Me.District.CheckedItems.Items(h).Value & ",") 

End If 

Используйте CheckboxList.Items

+0

«Элементы» не является членом «System.Windows.Forms.CheckedListBox.CheckedItemCollection». – BrianJBaldwin

+0

Извините, что вы использовали ASP.net с «CheckedItems», являющимся именем элемента управления CheckboxList. – N0Alias

+0

Нет, используя VB, спасибо, хотя ... все еще работаю над этим. – BrianJBaldwin

0

Поскольку в этом случае вы создаете выражение, как ...xyz in ('a', 'b', 'c', 'd')... возможно, более подходит следующий код:

For h = 0 To Me.District.CheckedItems.Count - 1

 DistrictString += "'" & Me.District.CheckedItems(h).Value & "'," 

Next

DistrictString = DistrictString.Substring(0, DistrictString.Length - 1)

Нет пои nt в messing с свойством .SELECTED. Все, что проверено, «выбрано» для ваших целей.

+0

Dim DistrictString Как StringBuilder = Новый StringBuilder() Для ч = 0 Для Me.District.CheckedItems.Count - 1 DistrictString.Append (Me.District.CheckedItems (ч) .Value & "") End If Next DistrictString = DistrictString.Substring (0, DistrictString.Длина - 1)
Это дает мне две ошибки: 1) «End If» должно предшествовать сопоставление «if» и 2) «Substring» не является членом «system.text.substring» – BrianJBaldwin

+0

Мне кажется, что я слишком усложняюсь с этим, но вот что я до сих пор, и крушение теперь происходит там, где происходит Append. 'Dim DistrictW As String Dim DistrictX As String Dim DistrictString Как StringBuilder = Новый StringBuilder Для Н = 0 Для Me.District.CheckedItems.Count - 1 DistrictString.Append (Me.District.CheckedItems (ч) .Value & ",") Next DistrictW = DistrictString.ToString РайонX = DistrictW.Substring (0, DistrictString.Length - 1) ' – BrianJBaldwin