viewsonic12 Ответов: 1

Добавление данных в MS access 2007


привет, у меня есть некоторые проблемы в MS access 2007..


1) я не могу отправить данные, которые пользователь вводит в текстовое поле VB2008.
2) файл доступа не обновляется
3) Как я могу узнать(подтвердить), что данные были сохранены или в них есть ошибка..
4) Когда я вставляю " cmd.ExecuteNonQuery () "существует ошибка, которая гласит:" Вы не можете добавить или изменить запись, потому что связанная запись требуется в таблице "код"."
я не знаю, какая часть моего кода вызывает у меня проблемы..
пожалуйста, помогите..
спасибо
БУЗ


это мое кодирование:



Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

    Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\user\Desktop\Baxter\BaxterOCR_new.mdb;Jet OLEDB:Database Password=12345;"

    Dim MySQL As String = "INSERT INTO Batch" & _

       "(BatchNo, BarCodeNo, OperatorID, CodeNo,ExpiryDate) VALUES " & "('" & txtBatchNo.Text & "','" & txtBarCodeNo.Text & "','" & txtOperatorID.Text & "','" & txtCodeno.Text & "','" & txtExpiryDate.Text & "')"

    Dim MyConn As New OleDbConnection(strConn)

    Dim cmd As New OleDbCommand(MySQL, MyConn)

    MyConn.Open()

    With cmd.Parameters

        .Add(New OleDbParameter("@BatchNo", txtBatchNo.Text))

        .Add(New OleDbParameter("@BarCodeNo", txtBarCodeNo.Text))

        .Add(New OleDbParameter("@OperatorID", txtOperatorID.Text))

        .Add(New OleDbParameter("@CodeNo", txtCodeno.Text))

        .Add(New OleDbParameter("@ExpiryDate", txtExpiryDate.Text))

    End With

    cmd.ExecuteNonQuery()

    MyConn.Close()



End Sub

1 Ответов

Рейтинг:
2

Christian Graus

Я предполагаю, что это просто какой-то код для развлечения, на самом деле никто не собирается его использовать, верно? Я не понимаю первый вопрос, как этот код пытается отправить текст в текстовое поле? ExecuteNonQuery возвращает число? Он вернет 0, если ничего не произошло, 1, если вы обновили строку и т. Д. ваша основная проблема в том, что вы нарушаете свой SQL. Я начинаю думать, что это настоящий коммерческий проект, и в этом случае это полная катастрофа. В вашем коде нет никаких признаков мысли или дизайна, он небезопасен (я мог бы стереть вашу базу данных, если бы захотел, просто нажав кнопку «Добавить») и во многих отношениях беспорядок. Основная проблема заключается в том, что у вас есть ограничение на базу данных, и кодовый номер, который вы предоставляете, не соответствует записи в кодовой таблице. Я бы посоветовал поговорить с вашим менеджером / учителем / в любой ситуации и объяснить, что вы не понимаете SQL, а также нуждаетесь в некотором обучении тому, как в целом разложить проект в соответствии со стандартом, который создает поддерживаемый, отлаживаемый, читаемый код.