?
Solved

How to update/records  table uisng OleDbCommand

Posted on 2009-03-31
13
Medium Priority
?
746 Views
Last Modified: 2012-05-06
Hello I'm trying to create a UPDATE function to update a Record and a DELETE Function using OleDbCommand to delete a record. Here is my code so far.
Thanks
my update function code is here
Private Sub UpdateData()
        Dim SchoolCode As String
        ' Fill Dataset and Get Data Table
 
        Dim DBName As String = Application.StartupPath & "\schools.mdb"
        'MsgBox(DBName)
        Dim Connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBName & ";User ID=Admin;Password=")
        Dim Command As New OleDb.OleDbCommand("SELECT * FROM tblSchools", Connection)
 
       
        ' Update  the COMMENTS column in  the Tasks table
        OleDbCommand(" Update tblSchools(Comments) VALUES ('" & Comments.Text & "')")
 
 
 
 
        Catch ex As Exception
            MsgBox("Error running SQL Code", MsgBoxStyle.OkOnly, "ERROR: 132")
        Finally
            Connection.Close()
        End Try
 
 
 
    End Sub
 
Private Sub DeleteData()
        Dim SchoolCode As String
        ' Fill Dataset and Get Data Table
 
        Dim DBName As String = Application.StartupPath & "\schools.mdb"
        'MsgBox(DBName)
        Dim Connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBName & ";User ID=Admin;Password=")
        Dim Command As New OleDb.OleDbCommand("SELECT * FROM tblSchools", Connection)
 
       
        'Delete a record in  the Tasks table
        OleDbCommand(" Delete * from tblSchool WHERE LIKE "SchoolCode" = txtSearch.Text & "')")
 
 
 
 
        Catch ex As Exception
            MsgBox("Error running SQL Code", MsgBoxStyle.OkOnly, "ERROR: 132")
        Finally
            Connection.Close()
        End Try
 
 
 
    End Sub

Open in new window

0
Comment
Question by:cybecks
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 6
13 Comments
 
LVL 48

Expert Comment

by:jpaulino
ID: 24030773
You don't need to select and then update or delete, you just have to do an executenonquery
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.executenonquery.aspx 
0
 
LVL 83

Assisted Solution

by:CodeCruiser
CodeCruiser earned 200 total points
ID: 24037196
Try the following code.
Remember to add a where clause to the update command where i have added ???
my update function code is here
Private Sub UpdateData()
  Dim SchoolCode As String
  Dim DBName As String = Application.StartupPath & "\schools.mdb"
  Dim Connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBName & ";User ID=Admin;Password=")
  Dim Command As New OleDb.OleDbCommand
 try       
  command.connection = connection
  command.commandtext = " Update tblSchools set Comments='" & Comments.Text & "' Where ???"
 Catch ex As Exception
  MsgBox("Error running SQL Code", MsgBoxStyle.OkOnly, "ERROR: 132")
 Finally
  Connection.Close()
 End Try
End Sub
 
Private Sub DeleteData()
  Dim SchoolCode As String
  Dim DBName As String = Application.StartupPath & "\schools.mdb"
  Dim Connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBName & ";User ID=Admin;Password=")
  Dim Command As New OleDb.OleDbCommand
  command.connection = connection
 try      
  'Delete a record in  the Tasks table
  command.Commandtext = "Delete * from tblSchool WHERE [" & SchoolCode & "] = '" & txtSearch.Text & "'"
 Catch ex As Exception
  MsgBox("Error running SQL Code", MsgBoxStyle.OkOnly, "ERROR: 132")
 Finally
  Connection.Close()
 End Try
End Sub

Open in new window

0
 

Author Comment

by:cybecks
ID: 24041424
hello CodeCruiser:
Well I got my delete to work but unable to get the Update to work.  I tried your code for update and well I updated every record in the table.  I only want to uptate a few fields like the Sch Comments  field in the table .lucky for me Im working on a test copy.
any how her is my code for the update


Private Sub UpdateData()

        Dim DBName As String = Application.StartupPath & "\schools.mdb"
        Dim Connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBName & ";User ID=Admin;Password=")
        Dim cmd As New OleDb.OleDbCommand("UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & " 'WHERE txtComments.text  = '" & txtComments.Text.ToString() & "'", Connection)
     
          Connection.Open()

        Try
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox("Error running SQL Code", MsgBoxStyle.OkOnly, "ERROR: 132")
        Finally

        End Try
        Connection.Close()
        txtComments.Text = ""


    End Sub
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 48

Expert Comment

by:jpaulino
ID: 24041518
What error do you have ?
Try to change to this T-SQL command

Dim cmd As New OleDb.OleDbCommand("UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & "' WHERE txtComments.text  = '" & txtComments.Text.ToString() & "'", Connection)

Open in new window

0
 

Author Comment

by:cybecks
ID: 24041689
when I run the code i get the Error running SQL Code
0
 
LVL 48

Assisted Solution

by:jpaulino
jpaulino earned 1800 total points
ID: 24041743
>> when I run the code i get the Error running SQL Code
That's your custom message. Change the msgbox to:
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "ERROR: 132")
 
0
 

Author Comment

by:cybecks
ID: 24041986
I get the following error message
error message is NO value given for one or more required parameters
0
 

Author Comment

by:cybecks
ID: 24042009
[Sch Comments] is a field in my table
txtComments.Text is my input text field on my form.

does this help
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24042060
You have the SQL statement wrong !
"UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & "' WHERE txtComments.text  = '" & txtComments.Text.ToString() & "'"
 
"WHERE txtComments.text  "
should be
"WHERE YourFieldName "
0
 

Author Comment

by:cybecks
ID: 24042201
When I changed the statement to
Dim cmd As New OleDb.OleDbCommand("UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & " 'WHERE [Sch Comments]  = '" & txtComments.Text.ToString() & "'", Connection)

It does not add update any data in the table but I don't get any errors.
0
 
LVL 48

Accepted Solution

by:
jpaulino earned 1800 total points
ID: 24042243
Don't you have an ID ? That way you're trying to update a field based on the new value (that doesn't exist in the database.
You should use an unique identifier like this:
UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & "' WHERE ID  = "  & ItemID
If you want to change ALL you can do:
UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & "'"
0
 

Author Comment

by:cybecks
ID: 24042580
Thanks you have been GREAT. I updated my code to :

Dim cmd As New OleDb.OleDbCommand("UPDATE tblSchools SET [Sch Comments]= '" & txtComments.Text & "'WHERE [strCd]  = '" & txtSCode.Text & "'", Connection)
        works fine now...


0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24042760
Glad I could help!
0

Featured Post

Want to be a Web Developer? Get Certified Today!

Enroll in the Certified Web Development Professional course package to learn HTML, Javascript, and PHP. Build a solid foundation to work toward your dream job!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Suggested Courses

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question