Help Me ! Не хочет работать SELECT

Mdenis
Дата: 17.02.2005 16:46:41
Пытаюсь из VB.net создать запрос к БД Access он отрабатывается и выводится вся БД, а мне нужно только строки где столбец IMEI совпал с введённым значением....
Не подскажете в чём ошибка ?

Public Sub ExecSQL(ByVal sSQL As String)
Dim sConnect As String
sConnect = "Provider=Microsoft Jet 4.0 OLE DB Provider;" & _
"Data Source=C:\Documents and Settings\Администратор\Мои документы\Visual Studio Projects\СТА\CTA.mdb ;Mode=Share Deny None;"
Dim myConnection As New OleDbConnection(sConnect)
myConnection.Open()
Dim myCommand As New OleDbCommand(sSQL, myConnection)
myCommand.ExecuteNonQuery()
myConnection.Close()


Dim sSQL As String
sSQL = "SELECT * FROM Таблица1 WHERE [IMEI] ='" & TextBox4.Text & "'"
ExecSQL(sSQL)
DataSet11.Clear()
OleDbDataAdapter1.Fill(DataSet11)
кузя
Дата: 17.02.2005 16:54:09
тяжелый случай
особенно вот это место
myCommand.ExecuteNonQuery()

и вот здесь
OleDbDataAdapter1.Fill(DataSet11)

так какая же команда SELECT стоит в адаптере ?
Mdenis
Дата: 17.02.2005 17:04:04
Ну грамотный.... просто жуть. А нормально подсказать где ошибка нельзя ? В процедуре ExecSQL нормально обрабатываются запросы Insert и Delete, а Select не хотит...
кузя
Дата: 17.02.2005 17:09:08
твой DataSet заполняет команда SELECT, которая стоит в адаптере (SelectCommand.CommandText) и которая (судя по тексту) НИГДЕ не изменяется.
а myCommand.ExecuteNonQuery() - выстрел в воздух. выполнил запрос без возврата результатов - пустой по смыслу код для SELECT.
кузя
Дата: 17.02.2005 17:18:58
примерно вот это должно остаться для твоего случая:
DataSet11.Clear()
OleDbDataAdapter1.SelectCommand.CommandText= "SELECT * FROM Таблица1 WHERE [IMEI] ='" & TextBox4.Text & "'"
OleDbDataAdapter1.Fill(DataSet11)
Mdenis
Дата: 17.02.2005 17:27:50
УРААА !!!! ЗАРАБОТАЛО !!!

Примного благодарен !!!!
Никита А. Зимин
Дата: 25.02.2005 12:12:08
Еще добавлю — вот это место является дыркой:
CommandText= "SELECT * FROM Таблица1 WHERE [IMEI] ='" & TextBox4.Text & "'"

В TextBox могут ввести все что угодно. Например, если туда ввели кавычку, то этот код уже работать не будет. Есть же механизм параметров — через него и надо делать.