I get this error when I run the code. The records are inserted into the table, but the program stops at the error.
The parameterized query '(@EmpName varchar(8000),@USDBasic varchar(8000),@OtherUSDEarning' expects the parameter '@EmpName', which was not supplied.
Code:
Dim connetionString As String
Dim cnn As SqlConnection
connetionString = "Data Source=Server\SQlExpress;Initial Catalog=CreSolDemo;User ID=sa;Password=Mkwn@011255"
cnn = New SqlConnection(connetionString)
If DataGridView1.Rows.Count > 0 Then
Dim cmd As New Data.SqlClient.SqlCommand
cmd.CommandText = " INSERT INTO TempPeriodTrans (EmpName, USDBasic, OtherUSDEarnings, ZDollarBasic, OtherZDEarnings) VALUES (@EmpName, @USDBasic, @otherUSDEarnings, @ZDollarBasic, @OtherZDEarnings) "
cmd.Parameters.Add("@EmpName", SqlDbType.VarChar)
cmd.Parameters.Add("@USDBasic", SqlDbType.VarChar)
cmd.Parameters.Add("@OtherUSDEarnings", SqlDbType.VarChar)
cmd.Parameters.Add("@ZDollarBasic", SqlDbType.VarChar)
cmd.Parameters.Add("@OtherZDEarnings", SqlDbType.VarChar)
cmd.Connection = cnn
cnn.Open()
For i As Integer = 0 To DataGridView1.Rows.Count - 1
cmd.Parameters(0).Value = DataGridView1.Rows(i).Cells(0).Value
cmd.Parameters(1).Value = DataGridView1.Rows(i).Cells(1).Value
cmd.Parameters(2).Value = DataGridView1.Rows(i).Cells(2).Value
cmd.Parameters(3).Value = DataGridView1.Rows(i).Cells(3).Value
cmd.Parameters(4).Value = DataGridView1.Rows(i).Cells(4).Value
cmd.ExecuteNonQuery()
Next
cnn.Close()
End If
MsgBox("Record saved")
End Sub