Reputation: 301
I am getting the oledb exception was unhandled and i cant find why it is happening can anyone note it for me
i BOLD and Italic the error code
and the exception shows as follows Syntax error (missing operator) in query expression 'Product Name=''Chair ''.
thanks
Imports System.Data.OleDb Public Class Form1 'declare the veriables Dim itemName As String Dim itemprice, average, rows, index, totalPrice Dim foundItem As Boolean Dim conectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Education\BIT\Assainment\L1S2\VB\Assesment 2\Stock.accdb" Dim reader As OleDbDataReader Dim olDataConnection As New OleDbConnection(conectionString) Dim olCommand As OleDbCommand Private Sub Form1_Load(ByVal sender As System.Object, e As EventArgs) Handles MyBase.Load 'loding data to the combo box totalPrice = 0 rows = 0 'start the connection olDataConnection.Open() olCommand = New OleDbCommand("SELECT * FROM Stock", olDataConnection) reader = olCommand.ExecuteReader() While (reader.Read()) comDataStock.Items.Add(DirectCast(reader("Product Name"), String) & " -Rs. " & DirectCast(reader("Price"), Integer) & " /= ") totalPrice = totalPrice + DirectCast(reader("Price"), Integer) rows = rows + 1 End While Try average = totalPrice / rows lblAverResult.Text = "Rs. " & average.ToString() & " /=" Catch ex As Exception MessageBox.Show("Somethingg Wrong ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information) End Try olDataConnection.Close() End Sub Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click olDataConnection.Open() olCommand = New OleDbCommand("DELETE FROM Stock WHERE Product Name=''" & comDataStock.SelectedItem.ToString().Split("-").GetValue(0).ToString() & "'", olDataConnection) reader = olCommand.ExecuteReader() olDataConnection.Close() comDataStock.Items.Clear() totalPrice = 0 rows = 0 olDataConnection.Open() olCommand = (New OleDbCommand("SELECT FROM Stock ", olDataConnection)) reader = olCommand.ExecuteReader() While (reader.Read()) comDataStock.Items.Add(DirectCast(reader("Price"), String) & " -Rs. " & DirectCast(reader("Price"), Integer) & " /= ") totalPrice = totalPrice + DirectCast(reader("Price"), Integer) rows = rows + 1 End While Try average = totalPrice / rows lblAverResult.Text = " Rs. " & average.ToString() & " /=" Catch ex As Exception MessageBox.Show(ex.ToString()) End Try olDataConnection.Close() End Sub End Class
Upvotes: 1
Views: 2510
Reputation: 97101
When you have a field whose name includes a space, such as Product Name
, you must enclose that name in square brackets.
olCommand = New OleDbCommand("DELETE FROM Stock WHERE [Product Name]='" & comDataStock.SelectedItem.ToString().Split("-").GetValue(0).ToString() & "'", olDataConnection)
Upvotes: 2