投稿者 社会人  (社会人) 投稿日時 2014/5/28 17:11:47
>もちださん
SqlServerの固定長をギリギリまで設定し直すと正常に動くようになりました!
男性、女性の項目でchar(4)にするだけで問題解決出来ました。本当に有難うございます。

>通りすがりの者
情報有難うございます。
今回は3番目の箇所が解決法でした。


無事に↓のコードで正常に動くようになりました
Dim B As New FmB

Dim DgA As String = DataGridView1.CurrentRow.Cells("年齢").Value.ToString
Dim DgB As String = DataGridView1.CurrentRow.Cells("名前").Value.ToString
Dim DgA As String = DataGridView1.CurrentRow.Cells("住所").Value.ToString
Dim DgB As String = DataGridView1.CurrentRow.Cells("性別").Value.ToString

B.TextBox1.Text = DgA
B.TextBox2.Text = DgB
B.TextBox3.Text = DgC

If DgD = "男性" Then
   B.Textbox4.text = 0
Else
   B.Textbox4.text = 1
End if

B.show


しかし、FmBの※印の箇所でエラーが発生しました

InvalidCastExceptionはハンドルされませんでした。
String "" から型 'Integer' への変換は無効です。

 Private Sub fmB(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        With ComboBox1
            .Items.Add("男性")
            .Items.Add("女性")
        End With

        ComboBox1.SelectedIndex = Me.TextBox4.Text※
        
 End Sub


String型からInteger型にデータを変更しようと色々試しましたが、変化はありませんでした。
どうすれば正常に動きますか?
下のコードは上記にあるコードに手を加えたものです

Dim RPG As Integer
Dim B As New FmB

Dim DgA As String = DataGridView1.CurrentRow.Cells("年齢").Value.ToString
Dim DgB As String = DataGridView1.CurrentRow.Cells("名前").Value.ToString
Dim DgA As String = DataGridView1.CurrentRow.Cells("住所").Value.ToString
Dim DgB As String = DataGridView1.CurrentRow.Cells("性別").Value.ToString

B.TextBox1.Text = DgA
B.TextBox2.Text = DgB
B.TextBox3.Text = DgC


If DgD = "男性" Then
   RPG = 1
   B.TextBox4.Text = RPG
Else
   RPG = 0
   B.TextBox4.Text = RPG
End If