Ошибка при попытке вставить значения в базу данных SQL Server CE - PullRequest
0 голосов
/ 22 января 2012

У меня проблемы со вставкой значений в мою таблицу Account, которая находится в базе данных SQL Server Compact Edition. Я продолжаю получать сообщение об ошибке

Произошла ошибка при разборе запроса. [Номер строки токена = 1, токен смещение строки = 62, токен по ошибке = s].

Кажется, это обычная ошибка в SQL Server CE, но все, что я пробовал, похоже, не работает. Вот код:

Public Sub addPlan(ByVal planname As String, ByVal plannumber As String)

    Dim strSql As String = (String.Format("INSERT INTO [Account] (plan_name, plan_number) VALUES (N'{0},N'{1})", Trim(planname), Trim(plannumber)))

    Try

        Using cmdAdd As New SqlCeCommand(strSql, conn)
            cmdAdd.ExecuteNonQuery()
        End Using

    Catch ex As Exception
        MessageBox.Show(ex.ToString)

    Finally
        displayPlandt()
    End Try

End Sub

Public Sub displayPlandt()

    Dim strSql As String = "SELECT * From Account"

    Using dtadapter As New SqlCeDataAdapter(strSql, conn)

        Dim dt As New DataTable
        dtadapter.Fill(dt)
        Form1.dgridplanview.DataSource = dt

    End Using

End Sub

Другой вопрос, который у меня возникает, - как я обновляю данные в форме. Я вызываю этот метод в части finally моего оператора try. Тем не менее, я повторно запрашиваю базу данных и пополняю все данные каждый раз, когда мне нужно обновить их. Есть ли способ сделать то же самое, не пополняя все данные?

Спасибо!

1 Ответ

1 голос
/ 22 января 2012

Я думаю, что вы пропустите конец цитаты.

Попробуйте это

Dim strSql As String = (String.Format("INSERT INTO [Account] (plan_name, plan_number) VALUES (N'{0}',N'{1}')", Trim(planname), Trim(plannumber)))
...