Hi,
I'm, still new to vb.net and i'm trying to add new record to my database.
I use datagrid to view my records in database and textbox to add new records.
My code is fine. Every time I insert new record to my database, my datagrid shows all records with the new record inserted. But when i close my program, the new record is not totally saved to my database.
I already tried some other methods but the result is the same.
This is one method I used...
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim sql As String
Dim cmd As SqlCommand
Dim cons As String
Dim con As SqlConnection
cons = "Data Source=.\SQLSERVER2008;AttachDbFilename=|DataDirectory|\ProductsDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
con = New SqlConnection(cons)
sql = "Insert into Products(ProductCode, ItemName, Size, SRP, WholeSalePrice, OriginalPrice, Availability, Color, Description, Supplier)" & _
"values (@ProductCode, @ItemName, @Size, @SRP, @WholeSalePrice, @OriginalPrice, @Availability, @Color, @Description, @Supplier)"
cmd = New SqlCommand(sql, con)
Try
cmd.Parameters.Add("@ProductCode", SqlDbType.NChar, 10).Value = Me.ProductCodeTextBox.Text.Trim
cmd.Parameters.Add("@ItemName", SqlDbType.NVarChar, 50).Value = Me.ItemNameTextBox.Text.Trim
cmd.Parameters.Add("@Size", SqlDbType.NChar, 10).Value = Me.SizeTextBox.Text.Trim
cmd.Parameters.Add("@SRP", SqlDbType.NChar, 10).Value = Me.SRPTextBox.Text.Trim
cmd.Parameters.Add("@WholeSalePrice", SqlDbType.NChar, 10).Value = Me.WholeSalePriceTextBox.Text.Trim
cmd.Parameters.Add("@OriginalPrice", SqlDbType.NChar, 10).Value = Me.OriginalPriceTextBox.Text.Trim
cmd.Parameters.Add("@Availability", SqlDbType.Bit).Value = avail
cmd.Parameters.Add("@Color", SqlDbType.NVarChar, 50).Value = Me.ColorTextBox.Text.Trim
cmd.Parameters.Add("@Description", SqlDbType.NVarChar).Value = Me.DescriptionTextBox.Text.Trim
cmd.Parameters.Add("@Supplier", SqlDbType.NVarChar).Value = Me.SupplierTextBox.Text.Trim
cmd.ExecuteNonQuery()
formMain.ProductsTableAdapter.Update(formMain.ProductsDatabaseDataSet.Products)
formMain.ProductsDatabaseDataSet.AcceptChanges()
MsgBox("New Record Saved! ")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
con.close
end sub
if im correct, this just update my dataset and display new records in datagrid but actually not saving to database.
But how will i add new record to database and really save it?
This is the second method...
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim sql As String
Dim da As New SqlDataAdapter
Dim cons As String
Dim con As SqlConnection
cons = "Data Source=.\SQLSERVER2008;AttachDbFilename=|DataDirectory|\ProductsDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
con = New SqlConnection(cons)
sql = "Insert into Products(ProductCode, ItemName, Size, SRP, WholeSalePrice, OriginalPrice, Availability, Color, Description, Supplier)" & _
"values ('" & Me.ProductCodeTextBox.Text.Trim & "','" & Me.ItemNameTextBox.Text.Trim & "','" & Me.SizeTextBox.Text.Trim & "','" & Me.SRPTextBox.Text.Trim & "','" & Me.WholeSalePriceTextBox.Text.Trim & "','" & Me.OriginalPriceTextBox.Text.Trim & "','" & avail & "','" & Me.ColorTextBox.Text.Trim & "','" & Me.DescriptionTextBox.Text.Trim & "','" & Me.SupplierTextBox.Text.Trim & "')"
try
con.open
da.InsertCommand = New SqlCommand(sql, con)
da.InsertCommand.ExecuteNonQuery()
MsgBox("New Record Saved! ")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
con.close
end sub
Any Help is so much appreciated.