“从字符串“”转换为“整数”类型无效。”

时间:2019-04-17 14:00:16

标签: vb.net ms-access datagridview insert-update

我正在尝试使用文本框将一些值插入到datagridview中。 datagridview绑定到MS-Access数据库。

以下各列的数据类型为整数:[Level_ID],[Paper_ID],[Year_ID],[Topic_ID],[Session_ID]和[T​​Z_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 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

我希望将在文本框中写入的值插入到datagridview中,以便以后可以使用以下代码将其保存:

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 :(得分:0)

我不确定您要在那里煮些什么,但是要添加到绑定源列表中,请执行以下操作:

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