«Преобразование из строки» в тип «Integer» недопустимо. - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь вставить некоторые значения в таблицу данных с помощью текстовых полей.Сетка данных привязана к базе данных MS-Access.

Тип данных следующих столбцов - целые числа: [Level_ID], [Paper_ID], [Year_ID], [Topic_ID], [Session_ID] & [TZ_ID].А остальные хранятся в виде строки.

Я запустил программу, используя:

Imports System.Data.OleDb
Imports System.Data

Затем я написал:

Dim source As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:/Users/khuba/OneDrive/Desktop/CS-IA (Final-Draft).accdb';"

Затем приходит код:

Private Sub Form8_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the '_CS_IA__Final_Draft_DataSet_X_.Question_Bank' table. You can move, or remove it, as needed.
    Me.Question_BankTableAdapter.Fill(Me._CS_IA__Final_Draft_DataSet_X_.Question_Bank)
End Sub

'Затем я создал еще одну Private Sub, которая обрабатывает нажатие кнопки «Добавить новый»:'

Затем приходит код:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    QuestionBankBindingSource.AddNew()
    Question_BankTableAdapter.Insert(level_IDTextBox.Text, Paper_IDTextBox.Text, Year_IDTextBox.Text, Topic_IDTextBox.Text, Session_IDTextBox.Text, TZ_IDTextBox.Text, Question_gistTextBox.Text, Option_ATextBox.Text, Option_BTextBox.Text, Option_CTextBox.Text, Option_DTextBox.Text, AnswerTextBox.Text)
    QuestionBankBindingSource.EndEdit()

End Sub

Я ожидал, чтозначения, записанные в текстовых полях, будут вставлены в таблицу данных, чтобы я мог сохранить ее позже, используя код:

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

    On Error GoTo SaveErr

    QuestionBankBindingSource.EndEdit()
    Question_BankTableAdapter.Update(_CS_IA__Final_Draft_DataSet_X_)
    MessageBox.Show("Successfully Saved")
SaveErr:

End Sub

'

Но коды выдают ошибку «Преобразование из строки»"для ввода 'Integer' недопустимо. '

1 Ответ

0 голосов
/ 17 апреля 2019

Я не уверен, что вы пытаетесь там готовить, но чтобы добавить в список источников bindings, сделайте следующее:

    With Bsource
        .AddNew()
        CType(.Current, DataRowView)("ColName") = TextBox1.Text
        .EndEdit()
    End With
...