Click to See Complete Forum and Search --> : Insert and Editing records through SQL DataAdapter


GrimmReaper
September 14th, 2005, 05:57 AM
Hello, I'm using this:

Private dacustomers As New SqlClient.SqlDataAdapter
Private selectcom As New SqlClient.SqlCommand("SELECT * FROM Customers")
Private ds As New DataSet("Northwind")
Private SQLCount As String = "SELECT Count(CustomerID) FROM Customers"
Private RecordCount As Integer
Private bmCustomers As BindingManagerBase
Private InsBuilder As New StringBuilder
Private EDBuilder As New StringBuilder

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

If btnAdd.Text = "ADD" Then
btnAdd.Text = "Finish"
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Else
btnAdd.Text = "ADD"
'SqlConnection1.Open()

InsBuilder.Append("INSERT INTO Customers (CompanyName,CustomerID,ContactName) ")
InsBuilder.Append("VALUES (")
InsBuilder.Append(TextBox1.Text)
InsBuilder.Append(",")
InsBuilder.Append(TextBox2.Text)
InsBuilder.Append(",")
InsBuilder.Append(TextBox3.Text)
InsBuilder.Append(")")
Dim InsComm As New SqlClient.SqlCommand("InsBuilder")
dacustomers.InsertCommand = InsComm
dacustomers.InsertCommand.ExecuteNonQuery()
End If
End Sub

Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
If btnEdit.Text = "EDIT" Then
btnAdd.Text = "Update"
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Else
btnAdd.Text = "EDIT"
EDBuilder.Append("UPDATE Customers SET ")
EDBuilder.Append("CompanyName = ")
EDBuilder.Append(TextBox1.Text)
EDBuilder.Append(",")
EDBuilder.Append("CustomerID = ")
EDBuilder.Append(TextBox2.Text)
EDBuilder.Append(",")
EDBuilder.Append("ContactName = ")
EDBuilder.Append(TextBox3.Text)

dacustomers.SelectCommand.ExecuteNonQuery()
End If
End Sub

to try add and edit records, but The compiler keeps throwing me out, complaining about a table not specified

How can I fix this, to add and edit records at run time?

hspc
September 16th, 2005, 03:40 AM
Since you use direct insert statement you don't need the data adapter
also you passed the StringBuilder as a string "InsBuilder"
replace these lines:

Dim InsComm As New SqlClient.SqlCommand("InsBuilder")
dacustomers.InsertCommand = InsComm
dacustomers.InsertCommand.ExecuteNonQuery()
With :
Dim InsComm As New SqlClient.SqlCommand()
SqlConnection1.Open()
InsComm.Connection=SqlConnection1
InsComm.CommandText=InsBuilder.ToString()
InsComm.ExecuteNonQuery()
SqlConnection1.Close()