Dim deleteSql = New OleDbCommand("DELETE FROM USR WHERE
USER_ID = dr.Cells(0).Value")
you have put "dr.cells(0).value" in the string instead it should be
concatenated. Change this to,
Dim deleteSql = New OleDbCommand("DELETE FROM USR WHERE
USER_ID = " & dr.Cells(0).Value)
If User_ID is string then use the following statement,
Dim deleteSql = New OleDbCommand("DELETE FROM USR WHERE
USER_ID = '" & dr.Cells(0).Value.ToString().Replace("'", "''") & "'")
BTW try using Parameters, since that is a safer method.
On Oct 17, 12:38 am, joshturner1967 <[EMAIL PROTECTED]> wrote:
> I am having trouble deleting a record from an Access database using
> VB.net
>
> The code compiles and the record that I want is selected but when I
> delete the record it never goes away what am I doing wrong - obviously
> missing a step I do not get any errors I have 21 records to begin
> with and when I check it after the delete I still have 21 - any ideas?
>
> here is my event code
> Imports System.Data
> Imports System.Data.OleDb
> Imports System.Data.SqlClient
>
> Public Class UserMaint
>
> Private Sub BtnDelete_Click(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles BtnDelete.Click
>
> Dim con As New OleDb.OleDbConnection
> Dim ds As DataSet = New DataSet
> Dim reccount As Integer
>
> con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\TestTheory\Maintapp\Maintapp\mymainttemp.mdb;Persist
> Security Info=False"
>
> Try
>
> con.Open()
>
> Catch OleDbExceptionErr As OleDb.OleDbException
>
> MessageBox.Show(OleDbExceptionErr.Message)
>
> End Try
>
> 'If row is selected continue '
> If Me.DataGridView1.SelectedRows.Count = 1 Then
>
> Dim dr As DataGridViewRow =
> Me.DataGridView1.SelectedRows.Item(0)
> MsgBox(dr.Cells(0).Value)
>
> ' Create the SelectCommand.
> Dim sql As String = "SELECT * FROM USR"
>
> ' Create the Delete Statment based upon the user id from
> the selected row.
> Dim deleteSql = New OleDbCommand("DELETE FROM USR WHERE
> USER_ID = dr.Cells(0).Value")
>
> Try
> Dim da As OleDbDataAdapter = New OleDbDataAdapter(sql,
> con)
> da.Fill(ds, "USR")
>
> Dim dt As DataTable = ds.Tables("USR")
> da.DeleteCommand = deleteSql
>
> da.Update(ds, "USR")
> ds.AcceptChanges()
>
> Dim scalarCommand As New OleDbCommand("SELECT COUNT(*)
> FROM USR", con)
>
> USRBindingSource.DataSource = ds.DefaultViewManager
> MsgBox("After Delete, Number of Employee = " &
> scalarCommand.ExecuteScalar())
>
> DataGridView1.Refresh()
>
> Catch ex As SqlException
>
> MsgBox("Error: " & ex.ToString())
>
> ' MsgBox("Error during delete of USR Table for " &
> dr.Cells(0).Value)
>
> End Try
>
> Else
> MsgBox("Row not selected")
>
> End If
>
> End Sub
> End Class
>
> Thanks Josh
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"DotNetDevelopment, VB.NET, C# .NET, ADO.NET, ASP.NET, XML, XML Web
Services,.NET Remoting" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/DotNetDevelopment
You may subscribe to group Feeds using a RSS Feed Reader to stay upto date
using following url
<a href="http://feeds.feedburner.com/DotNetDevelopment">
http://feeds.feedburner.com/DotNetDevelopment</a>
-~----------~----~----~----~------~----~------~--~---