Joy1979 Ответов: 1

Как мне найти свою запись с помощью Vb.net


Здравствуйте, Друзья!!

У меня есть форма окна с "текстовым полем" для отображения и "командной кнопкой" для поиска номера клиента.

Не могли бы вы помочь мне, как выполнить команду поиска в Vb.net-что?

Я использую SQL Server 2008r2 в качестве своей базы данных.... теперь я могу подключиться к своей базе данных и вставить некоторые из моих записей с помощью кнопки "Сохранить". теперь я хочу поискать некоторые записи, но я не знаю, как это сделать. не могли бы вы дать мне несколько примеров кодов или ссылок на учебник? для меня было бы большим подспорьем, если бы вы научили меня...

Спасибо :)

ZurdoDev

Вы знаете SQL? Вы знаете, как написать инструкцию SELECT?

Joy1979

Да, я знаю. Я пытался использовать следующий код, но каким-то образом он дает мне ошибку..Наверное, я что - то упускаю.

Private Sub Searchbtn_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Searchbtn.Щелчок
- Тусклый
'Ул = "выбрать * из Design_Parameters где DesignID,Имяпараметра,значение parametervalue="" &ампер; отделка(txtname.текст) &ампер; " '"
'ds = новый набор данных()
'da = New SqlClient.SqlDataAdapter(Str, conn)
да.заполнить(ДС)
'If (ds.Tables(0).Rows.Count > 0) затем
'MessageBox("Запись Найдена")
''u также может извлекать данные из этого набора данных aslo
- Иначе
'MessageBox("Запись Не Найдена")
- Конец, Если
- Конец Субмарины
- Конец Урока

ZurdoDev

Ваше утверждение where неверно. Выберите * из Design_Parameters, где ParameterValue = txtName.text, а не там, где все 3 столбца равны ему. Если вы хотите посмотреть все 3 колонки можно использовать или. Однако вы должны изучить SQL-инъекции, потому что любой, кто немного знает SQL, может использовать ваше приложение для удаления вашей базы данных или кражи данных.

ZurdoDev

Один из способов-заменить ' но использование параметров лучше.

Joy1979

Если нет IsDbNull(strValue) Затем
Если intLevel > 0, то
strValue = заменить(strValue, "'", """)
strValue = заменить(strValue, "--", "")
strValue = заменить(strValue, "[", "[[]")
strValue = заменить(strValue, "%", "[%]")
Конец, Если

Если intLevel > 1, то
Dim myArray как массив
с myarray = Сплит("xp_ ;обновления ;вставка ;выбрать ;капля ;изменить ;создать ;переименовать ;удалить ;заменить ", ";")
Dim i, i2, intLenghtLeft как целое число
Для i = LBound(myArray) To UBound(myArray)
Dim rx как новое регулярное выражение(myArray(i), RegexOptions.Скомпилированные Или Регулярные Выражения.Параметром ignorecase)
Dim matches As MatchCollection = rx.Matches(strValue)
i2 = 0
Для каждого матча как матч в матчах
Dim groups As GroupCollection = совпадение.Группы
intLenghtLeft = группы.Пункт(0).Индекс + len(myArray(i)) + i2
strValue = Left(strValue, intLenghtLeft - 1) & "" & right(strValue, len(strValue) - intLenghtLeft)
i2 += 5
Следующий
Следующий
Конец, Если

1 Ответов

Рейтинг:
2

_Vitor Garcia_

Ваша проблема заключается в sql sintaxe, так как вы не можете сравнить этот способ в предложении where.

попробуйте изменить свой код на этот :

Private Sub Searchbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Searchbtn.Click
            Dim str as string = ""
            Str = "Select DesignID From Design_Parameters Where ParameterValue='" & Trim(txtname.text) & "'"
            ds = New DataSet()
            da = New SqlClient.SqlDataAdapter(Str, conn)
            da.fill(ds)
            If (ds.Tables(0).Rows.Count > 0) Then
                MessageBox("Record Found")
                'u can also fetch data from this dataset aslo
            Else
                MessageBox("No Record Found")
            End If
        End Sub


Joy1979

Привет, спасибо за вашу помощь. Мне нужно, чтобы отобразить данные с помощью DesignID. (В текстовом поле, когда я ввожу DesignID, например, AB12345) Он должен возвращать записи из таблицы.) я что-то пропустил в запросе Select? Когда я пытаюсь загрузить форму и ввести DesignID в текстовое поле, ничего не происходит, но экран застревает, и тогда мне нужно запустить Диспетчер задач, чтобы отменить его. Любая попытка/улов поможет?

Joy1979

Мой код выглядит так:

Private Sub Searchbtn_Click(бывал отправитель как система.Объект, бывал е как система.EventArgs) Обрабатывает Searchbtn.Щелчок

Dim str как строка = ""
Dim ds = новый набор данных
Dim da = новый SqlDataAdapter

стр = "выбрать DesignID от Design_Parameters где Значение_параметра='" &ампер; отделка(TextBox4.Текст) &ампер; "'"
ds = новый набор данных()
da = новый SqlClient.SqlDataAdapter(str, conn)
да.Заполнить(ДС)
If (ds.Tables(0).Rows.Count > 0) затем
Ящик для сообщений.Show("Запись Найдена")
'u также может извлекать данные из этого набора данных aslo

Еще
Ящик для сообщений.Показать("Запись Не Найдена")
Конец, Если

Конец Подводной Лодки

_Vitor Garcia_

Это уже второй ваш вопрос, не так ли ? Я предложил решение для первого из них.

_Vitor Garcia_

Теперь вам удалось получить DesignID в объекте ds.tables(0).rows.
Вы можете выбрать записи, которые хотите показать, из этой другой таблицы с помощью DesignID.