個人情報を登録できるアプリを作りたいです。しかし、グリッドビューのデータの更新/編集に問題があります。以下は私が作成したコードのセットです。
Imports System.Data.SqlClient
Public Class Form1
Dim connectionString As String
Dim cnn As SqlConnection
Dim cmd As SqlCommand
Dim sql As String
以下は私のADDステートメントであり、問題なく機能します
Private Sub btnADD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnADD.Click
connectionString = "Data Source=XXXX;Initial Catalog=XXXX;User ID=XXXX;Password=XXXX"
cnn = New SqlConnection(connectionString)
Try
cnn.Open()
cmd = New SqlCommand("INSERT INTO tbl_info (ID,Name) VALUES (@ID,@Name)")
cmd.Connection = cnn
With cmd.Parameters
.AddWithValue("ID", txtID.Text)
.AddWithValue("Name", txtName.Text)
End With
cmd.ExecuteNonQuery()
MsgBox("has been inserted successfully")
Catch ex As Exception
MsgBox(ex.Message())
End Try
txtID.Clear()
txtName.Clear()
End Sub
以下はgridviewwitchが私のデータベースへのリンクです
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'TestDataSet.tbl_info' table. You can move, or remove it, as needed.
Me.Tbl_infoTableAdapter.Fill(Me.TestDataSet.tbl_info)
End Sub
以下は私の更新ステートメントの魔女です私は何が悪いのか理解するのに苦労しています。
Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
cnn = New SqlConnection(connectionString)
If Not cnn.State = ConnectionState.Open Then
cnn.Open()
End If
Try
cmd = New SqlCommand("Update tble_info set Name = @Name Where ID = @ID)")
cmd.Connection = cnn
With cmd.Parameters
.AddWithValue("Name", txtName.Text)
.AddWithValue("ID", txtID.Text)
End With
cmd.ExecuteNonQuery()
MsgBox("has been update successfully")
Catch ex As Exception
MsgBox(ex.Message())
End Try
End Sub
End Class
これは、プログラムを実行したときに発生したエラーです。
InvalidOperationExeption was unhadled
The connectionString property has not been initialize
cnn.open()を指しています