Jitendra shekhawat Ответов: 2

Синтаксическая ошибка отсутствует оператор в выражении запроса SN='. На VB6


Private Sub Delete_Click()
   
    
    con.Open Constr 
    rs.Open "Select Name,Phoneno,Age from Test where  SN  =" & addEdit.Text, con           
    For a = 1 To ListView1.ListItems.Count 
        If ListView1.ListItems.Item(a).Checked = True Then 
            addEdit.Text = rs("SN")
                
            sql = "delete from Test where SN=" & addEdit.Text
            addEdit.Text = "SN"
            NameText.Text = ""
            PhText.Text = ""
            AgeText.Text = ""
            NameText.SetFocus
            con.Execute (sql)
        End If
        rs.MoveNext
    Next
    con.Close
   
End Sub


Что я уже пробовал:

попробуйте :- идентификатор=СН-показать в окне полей EditText

2 Ответов

Рейтинг:
18

Bryian Tan

Вы не упомянули, какая строка выдает ошибку. Я предполагаю, что эта линия-проблема. Код отсутствует" ="

rs.Open "Select  Name,Phoneno,Age from Test where  SN " & addEdit.Text, con, adOpenStatic, adLockReadOnly


так и должно быть
rs.Open "Select  Name,Phoneno,Age from Test where  SN = " & addEdit.Text, con, adOpenStatic, adLockReadOnly


Рейтинг:
10

Patrice T

Проблема исходит из содержания addEdit этого мы не можем знать.
-----
Ваш код подвержен атаке SQL-инъекций
SQL-инъекция[^]
-----
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Он позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.