Ini berarti bahwa jumlah nilai yang ditentukan dalam VALUES
. Anda klausa pada INSERT
pernyataan tidak sama dengan jumlah kolom dalam tabel. Anda harus menentukan nama kolom jika Anda hanya mencoba menyisipkan pada kolom yang dipilih.
Satu lagi, karena Anda menggunakan ADO.Net
, selalu membuat parameter kueri Anda untuk menghindari SQL Injection
. Apa yang Anda lakukan sekarang adalah Anda mengalahkan penggunaan sqlCommand
.
mantan
Dim query as String = String.Empty
query &= "INSERT INTO student (colName, colID, colPhone, "
query &= " colBranch, colCourse, coldblFee) "
query &= "VALUES (@colName,@colID, @colPhone, @colBranch,@colCourse, @coldblFee)"
Using conn as New SqlConnection("connectionStringHere")
Using comm As New SqlCommand()
With comm
.Connection = conn
.CommandType = CommandType.Text
.CommandText = query
.Parameters.AddWithValue("@colName", strName)
.Parameters.AddWithValue("@colID", strId)
.Parameters.AddWithValue("@colPhone", strPhone)
.Parameters.AddWithValue("@colBranch", strBranch)
.Parameters.AddWithValue("@colCourse", strCourse)
.Parameters.AddWithValue("@coldblFee", dblFee)
End With
Try
conn.open()
comm.ExecuteNonQuery()
Catch(ex as SqlException)
MessageBox.Show(ex.Message.ToString(), "Error Message")
End Try
End Using
End USing
PS:Harap ubah nama kolom yang ditentukan dalam kueri ke kolom asli yang ditemukan di tabel Anda.