我正在尝试更新excel数据库中的数据,但它一直给我一个错误“无法从字符串“”转换为整数”。我想这有问题,因为我对vb.net不好。我正在使用Excel数据库。仅有第一个combox1部分可以正常工作。
Dim AreaCode As String
Dim x As Integer
MsgBox("Do you want to update the records?")
If ComboBox1.SelectedIndex.Equals(0) Then
Try
AreaCode = ACTextBox.Text
DataGridView.Rows.Item(x).Cells(0).Value = ACTextBox.Text
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End If
Dim MetropolitanArea As String
If ComboBox1.SelectedIndex.Equals(1) Then
Try
MetropolitanArea = MATextBox.Text
DataGridView.Rows.Item(x).Cells(1).Value = ACTextBox.Text
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End If
Dim AnnualFixedArea As Integer
If ComboBox1.SelectedIndex.Equals(2) Then
Try
AnnualFixedArea = AFCTextBox.Text
DataGridView.Rows.Item(x).Cells(2).Value = AFCTextBox.Text
Catch ex As Exception
End Try
End If
Dim WagePerHour As String
If ComboBox1.SelectedIndex.Equals(3) Then
Try
WagePerHour = TextBoxWPH.Text
DataGridView.Rows.Item(x).Cells(3).Value = TextBoxWPH.Text
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End If
End Sub
答案 0 :(得分:0)
您正在分配一个整数作为字符串,如下所示
Dim AnnualFixedArea As Integer
AnnualFixedArea = AFCTextBox.Text
为了将整数设置为TextBox的值,请使用以下
Dim AnnualFixedArea As Integer
If Not Integer.TryParse(s, AnnualFixedArea) Then
AnnualFixedArea = -1
End If
如果可以解析,则会将AnnualFixedArea
设置为TextBox
的值,或者将其设置为-1。
有关更多信息,请参见Int32.TryParse。
答案 1 :(得分:0)
首先,Excel不是数据库。这是一个电子表格程序。数据库是MS Sql Server,MySql,Access等。
当用户只能单击“确定”时询问用户是否要更新是很愚蠢的。
当您仅将文本框的text属性直接分配给网格时,我不确定所有这些变量的用途。 Select Case在这里比较干净。由于x永远是0,所以只使用0。这里没有网络或连接,所以为什么要尝试...结束尝试?
您是否意识到已经将ACTextBox.Text分配给网格中的两个不同单元格?
<\S.*?=\"(.*reges\[\w+\].*)\">.*>