2013-04-25 2 views
2

Я пытаюсь удалить строку из базы данных доступа ms, используя vb.net. Но я получаю вышеупомянутую ошибку. Все поля - это текст в базе данных.тип данных несоответствие в выражении критериев в asp.net

Вот мой код:

dim deleteRow() as DataRow 

deleteRow = ds.Tables("ccc").Select("Question = '" & QuestionList(x).Text & "'") 
deleteRow(0).Delete() 
da.Update(ds,"ccc") 
+0

Что такое содержание 'QuestionList (х) .Text'? Он содержит текст с одной цитатой? – Steve

+0

Когда я пытаюсь удалить значение Question (x) .Text is 390) Что такое компьютер? – Vishal

ответ

1

Вишал .... делать любые ваши вопросы (х) значения .text содержит апостроф? Одиночные кавычки вызовут ошибку в вашем заявлении select. НАПРИМЕР.

Если ваш вопрос: Как вас зовут? Ваш оператор выбора будет Select (Вопрос = 'Что ваше имя>?)

Эта ошибка в «s - также я не уверен, если закрывающая скобка вызовет ошибку, как в вашем примере выше вы бы

Select (Вопрос = '390) что такое компьютер?)

это может ошибка в первой закрывающей скобкой.

0

Вы можете попробовать новый фрагмент кода

Sub DeleteRow() 
    Dim cnn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=MyDatabase.mdb;User Id=admin;Password=;") 
    Dim cmd As New OleDbCommand 

    cmd.Connection = cnn 
    cmd.CommandType = CommandType.Text 
    cmd.CommandText = "DELETE * FROM <your table> WHERE Question='" & QuestionList(x).Text & "'" 

    Using cnn 
     cnn.open() 
     cmd.ExecuteNonQuery() 
    End Using 
End Sub 
Смежные вопросы