ORA-01036: illegal variable name/number - Insert Query - sql

I am getting the ORA-01036: illegal variable name/number error in my vb.net application
Please take a look and help me.
Thanks in advance.
Dim sSQL As String
sSQL = "INSERT INTO PSLSC_PSL_NOMINATION ( NOMINATION_ID, NOM_TYPE, PROPOSED_STATUS, COMMODITY_TEAM, COMMODITY_DESC, COMMODITY_CODE, PARENT_ID, SUPPLIER_ID, SUPPLIER_NAME, ADDRESS, COUNTRY, TELEPHONE, CONTACT, WEBSITE, EMAIL, SPEND, TECHSOURCE_SCORE, ESAC_SCORE, PAYMENT_TERMS, MSA_CONTRACT, BUSA_CONTRACT, LEAN_CHAMPION, LEAN_CHAMPION_NAME, QUALITY, ON_TIME_DELIVERY, SUPPORTS_ESOURCING, COMPLIANCE_REQUIREMENT, FLEXIBILITY, CAP_MEET_DELIVERY_FREQ, NOMINATING_BUSINESS_UNIT, NOMINATING_REGION, OWNER, NOMINATED_DATE, COMMENTS, SENDER, SENDER_EMAIL )"
sSQL = sSQL & " VALUES ( :NOMINATION_ID,:NOM_TYPE,:PROPOSED_STATUS,:COMMODITY_TEAM,:COMMODITY_DESC,:COMMODITY_CODE,:PARENT_ID,:SUPPLIER_ID,:SUPPLIER_NAME,:ADDRESS,:COUNTRY,:TELEPHONE,:CONTACT,:WEBSITE,:EMAIL,:SPEND,:TECHSOURCE_SCORE,:ESAC_SCORE,:PAYMENT_TERMS,:MSA_CONTRACT,:BUSA_CONTRACT,:LEAN_CHAMPION,:LEAN_CHAMPION_NAME,:QUALITY,:ON_TIME_DELIVERY,:SUPPORTS_ESOURCING,:COMPLIANCE_REQUIREMENT,:FLEXIBILITY,:CAP_MEET_DELIVERY_FREQ,:NOMINATING_BUSINESS_UNIT,:NOMINATING_REGION,:OWNER,:NOMINATED_DATE,:COMMENTS,:SENDER,:SENDER_EMAIL )"
Dim obj_id As Decimal
obj_id = getNewSRM_OBJ_ID(cn_SRM)
Dim cn As OracleConnection = New OracleConnection(cn_proc)
Dim cmd As OracleCommand = New OracleCommand(sSQL, cn)
cmd.Parameters.Add(":NOMINATION_ID", obj_id)
cmd.Parameters.Add(":NOM_TYPE", row.NOM_TYPE)
cmd.Parameters.Add(":PROPOSED_STATUS", row.PROPOSED_STATUS)
cmd.Parameters.Add(":COMMODITY_TEAM", row.COMMODITY_TEAM)
cmd.Parameters.Add(":COMMODITY_DESC", row.COMMODITY_DESC)
cmd.Parameters.Add(":COMMODITY_CODE", row.COMMODITY_CODE)
cmd.Parameters.Add(":PARENT_ID", row.PARENT_ID)
cmd.Parameters.Add(":SUPPLIER_ID", row.SUPPLIER_ID)
cmd.Parameters.Add(":SUPPLIER_NAME", row.SUPPLIER_NAME)
cmd.Parameters.Add(":ADDRESS", row.ADDRESS)
cmd.Parameters.Add(":COUNTRY", row.COUNTRY)
cmd.Parameters.Add(":PHONE", row.PHONE)
cmd.Parameters.Add(":CONTACT", row.CONTACT)
cmd.Parameters.Add(":WEBSITE", row.WEBSITE)
cmd.Parameters.Add(":EMAIL", row.EMAIL)
cmd.Parameters.Add(":SPEND", row.SPEND)
cmd.Parameters.Add(":TECHSOURCE_SCORE", row.TECHSOURCE_SCORE)
cmd.Parameters.Add(":ESAC_SCORE", row.ESAC_SCORE)
cmd.Parameters.Add(":PAYMENT_TERMS", row.PAYMENT_TERMS)
cmd.Parameters.Add(":MSA_CONTRACT", row.MSA_CONTRACT)
cmd.Parameters.Add(":BUSA_CONTRACT", row.BUSA_CONTRACT)
cmd.Parameters.Add(":LEAN_CHAMPION", row.LEAN_CHAMPION)
If Not row.IsLEAN_CHAMPION_NAMENull Then
cmd.Parameters.Add(":LEAN_CHAMPION_NAME", row.LEAN_CHAMPION_NAME)
Else
cmd.Parameters.Add(":LEAN_CHAMPION_NAME", System.DBNull.Value)
End If
cmd.Parameters.Add(":QUALITY", row.QUALITY)
cmd.Parameters.Add(":ON_TIME_DELIVERY", row.ON_TIME_DELIVERY)
cmd.Parameters.Add(":SUPPORTS_ESOURCING", row.SUPPORTS_ESOURCING)
cmd.Parameters.Add(":COMPLIANCE_REQUIREMENT", row.COMPLIANCE_REQUIREMENT)
cmd.Parameters.Add(":FLEXIBILITY", row.FLEXIBILITY)
cmd.Parameters.Add(":CAP_MEET_DELIVERY_FREQ", row.CAP_MEET_DELIVERY_FREQ)
cmd.Parameters.Add(":NOMINATING_BUSINESS_UNIT", row.NOMINATING_BUSINESS_UNIT)
cmd.Parameters.Add(":NOMINATING_REGION", row.NOMINATING_REGION)
cmd.Parameters.Add(":OWNER", row.OWNER)
cmd.Parameters.Add(":NOMINATED_DATE", row.NOMINATED_DATE)
cmd.Parameters.Add(":COMMENTS", row.COMMENTS)
cmd.Parameters.Add(":SENDER", row.SENDER)
cmd.Parameters.Add(":SENDER_EMAIL", row.SENDER_EMAIL)
Try
cn.Open()
cmd.CommandType = CommandType.Text
cmd.ExecuteNonQuery()
Catch ex As Exception
LOG_ERROR(ex.Message, sSQL, cn.ConnectionString, ex.Source)
End Try

You can also get this error when you omit the bind variable reference from the SQL but you create a Parameter for it. Ask me how I know this.
Example taken from above that might repro it (notice "PROPOSED_STATUS" is not in the SQL but is being added as Parameter:
sSQL = "INSERT INTO PSLSC_PSL_NOMINATION ( NOMINATION_ID, NOM_TYPE ) VALUES ( :NOMINATION_ID,:NOM_TYPE )"
Dim obj_id As Decimal = getNewSRM_OBJ_ID(cn_SRM)
Dim cn As OracleConnection = New OracleConnection(cn_proc)
Dim cmd As OracleCommand = New OracleCommand(sSQL, cn)
cmd.Parameters.Add(":NOMINATION_ID", obj_id)
cmd.Parameters.Add(":NOM_TYPE", row.NOM_TYPE)
cmd.Parameters.Add(":PROPOSED_STATUS", row.PROPOSED_STATUS)
Try
cn.Open()
cmd.CommandType = CommandType.Text
cmd.ExecuteNonQuery()
Catch ex As Exception
LOG_ERROR(ex.Message, sSQL, cn.ConnectionString, ex.Source)
End Try

Related

How to fix the connectionstring property has not been initialized

I am trying to create a user and insert the data into a MS Access database, but I get an error:
The connectionString property has not been initialized
whenever I click on the button.
I have tried all possible codes on Connection string but the challenge still persist.
Try
Dim sqlconn As New OleDb.OleDbConnection
Dim sqlquery As New OleDb.OleDbCommand
Dim connString As String
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\PavilionDB.mdb"
sqlquery.Connection = sqlconn
con = New OleDbConnection(conString)
con.Open()
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
sqlquery.CommandText = "INSERT INTO member(mmbr_id, name, gender, address, phone, join_date, acc_no) VALUES (#txtNewID, #txtName, #txtGender, #txtAddress, #txtPhone, #txtPhone, #)txtAccNo"
sqlquery.Parameters.AddWithValue("New ID", txtNewID.ToString)
sqlquery.Parameters.AddWithValue("Name", txtName.ToString)
sqlquery.Parameters.AddWithValue("Gender", txtGender.ToString)
sqlquery.Parameters.AddWithValue("Address", txtAddress.ToString)
Dim da As New OleDbDataAdapter(cmd)
Dim ds As New DataTable
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "con")
Return
sqlquery.ExecuteNonQuery()
sqlconn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
That code really is a mess. It should be reduced to this and that will fix your issue:
Try
Using connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\PavilionDB.mdb"),
command As New OleDbCommand("INSERT INTO member (mmbr_id, name, gender, address, phone, join_date, acc_no) VALUES (#mmbr_id, #name, #gender, #address, #phone, #join_date, #acc_no)", connection)
With command.Parameters
.AddWithValue("#mmbr_id", txtNewID.Text)
.AddWithValue("#name", txtName.Text)
.AddWithValue("#gender", txtGender.Text)
.AddWithValue("#address", txtAddress.Text)
'Set other parameters here.
End With
connection.Open()
command.ExecuteNonQuery()
End Using
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Ideally, you would be using Add rather than AddWithValue too, but that's another conversation.
Here is simple code for what you mostly asked for, in addition to the whole open source on this link:
enter link description here
Here is the tested code:
Private Sub BtnAddNewRec_Click(sender As Object, e As EventArgs) Handles BtnAddNewRec.Click
Dim con As New OleDbConnection
Dim cmd As New OleDbCommand
Try
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db1.mdb"
con.Open()
cmd.Connection = con
cmd.CommandText = "INSERT INTO Tbl1 (mmbr_id, name, gender, address) VALUES (#txtNewID, #txtName, #txtGender, #txtAddress)"
cmd.Parameters.AddWithValue("#txtNewID", txtNewID.Text)
cmd.Parameters.AddWithValue("#txtName", txtName.Text)
cmd.Parameters.AddWithValue("#txtGender", txtGender.Text)
cmd.Parameters.AddWithValue("#txtAddress", txtAddress.Text)
cmd.ExecuteNonQuery()
MsgBox("Record Added Successfully!")
Catch ex As Exception
MessageBox.Show("Error while inserting record on table..." & ex.Message, "Insert Records")
Finally
con.Close()
End Try
End Sub
I hope this helps:
The trouble here is that you have 2 commands in your code, namely cmd and sqlquery. You define sqlquery at the beginning of the code, then initialize cmd with the connection and a SQL variable that I cannot determine the source of.
What you need to do is redo this part and get remove the extra references that seem to be the source of the problem. Consider the following...
Try
Dim conString As String
Dim text = "INSERT INTO member(mmbr_id, name, gender, address, phone, join_date, acc_no) VALUES (#txtNewID, #txtName, #txtGender, #txtAddress, #txtPhone, #txtPhone, #)txtAccNo"
conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\PavilionDB.mdb"
Using sqlCon = New OleDbConnection(conString), sqlCmd = New OleDbCommand(text, sqlCon)
With sqlCmd.Parameters
.AddWithValue("New ID", 234234)
.AddWithValue("Name", "Fabulous")
.AddWithValue("Gender", "Male")
.AddWithValue("Address", "127.0.0.1")
End With
sqlCon.Open()
sqlCmd.ExecuteNonQuery()
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
I couldn't tell whether txtNewID and the other similarly named variables are text boxes or not. If they are text boxes, you need the .Text property which gets the content in a string. You'll need to replace the literals I used in my test environment to get to it.
Ensure everything, including your connection string and query are correct for this to run smoothly. In your current case, you are getting the connection string related error because you are attempting to execute the query on a connection you didn't associate with the connection.

Vb.Net 2010 - SQL Insert Command with autonumeric value

I'm looking to add a row with an autonumeric value using SQL.
I'm using Studio VB 2010. I have a very simple table with 2 fields:
ID Autonumeric
Model Text field.
constr = "INSERT INTO procedures VALUES('" & txtFName.Text & "')"
cmd = New OleDbCommand(constr, cn)
cn.Open()
Me.i = cmd.ExecuteNonQuery
A message says a parameter is missing,
so my question is...
How can I add in the SQL command this automatic value? (ID)
Should I get the last ID number and +1 ?? I think there's gotta be a simple way to do it.
Thank you.
Update #1
I am now trying parameterized queries as suggested...
I found this example,
Dim cmdText As String = "INSERT INTO procedures VALUES (?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(cmdText, con)
cmd.CommandType = CommandType.Text
With cmd.Parameters
.Add("#a1", OleDbType.Integer).Value = 0
.Add("#a2", OleDbType.VarChar).Value = txtFName.Text
End With
cmd.ExecuteNonQuery()
con.Close()
But still, I'm geting a Syntaxis error.
Any thoughts?
Thanks to you all.
UPDATE #2
This code seems to work if I give the next ID number, but again, how can I do it automatically?
Dim cmdText As String = "INSERT INTO procedures VALUES (?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(cmdText, con)
cmd.CommandType = CommandType.Text
With cmd.Parameters
.AddWithValue("#a1", OleDbType.Integer).Value = 3
.AddWithValue("#a2", OleDbType.VarChar).Value = txtFName.Text
End With
cmd.ExecuteNonQuery()
con.Close()
Any comments? Thanks again.
UPDATE #3 This Code gives me Syntaxis Error
I just put my only one column to update, the second one is the autonumber column, as I was told to try.
Dim Con As OleDbConnection = New OleDbConnection(dbProvider & dbSource)
Dim SQL_command As String = "INSERT INTO procedures (procedure) VALUES ('Model')"
Dim cmd As OleDbCommand = New OleDbCommand(SQL_command, Con)
Try
Con.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
Con.Close()
Con.Dispose()
End Try
UPDATE #4 - SOLUTION
I'm putting this code in here in case someone finds it useful.
dbProvider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;"
dbSource = "Data Source = c:\gastrica\dabase.accdb"
Con.ConnectionString = dbProvider & dbSource
Dim Con As OleDbConnection = New OleDbConnection(dbProvider & dbSource)
Dim SQL_command As String = "INSERT INTO [procedures] ([procedure]) VALUES (?)"
Dim cmd As OleDbCommand = New OleDbCommand(SQL_command, Con)
cmd.CommandType = CommandType.Text
With cmd.Parameters
.AddWithValue("#procedure", OleDbType.VarChar).Value = txtFName.Text
End With
Try
Con.Open()
cmd.ExecuteNonQuery()
Dim varProcedure As String = cmd.Parameters("#procedure").Value.ToString()
MessageBox.Show("Record inserted successfully. Procedure = " & varProcedure)
Catch ex As Exception
Throw ex
Finally
Con.Close()
End Try
Thanks all for your comments and help.
You need to specify the columns:
INSERT INTO procedures (columnname, columnname2) VALUES ('test', 'test');
Here is a sql fiddle showing an example:
http://sqlfiddle.com/#!9/3cf706/1
Try this one:
constr = "INSERT INTO procedures (ID, Model) VALUES (0,'" & txtFName.Text & "')"
'or (not sure)
constr = "INSERT INTO procedures (Model) VALUES ('" & txtFName.Text & "')"
When use 0 as value, in autonumeric fields SQL insert the next number
Thanks for your answers.
I couldnĀ“t do it, it gives me errors. So I end up with a single variable reaching the next Auto Value. Using a simple SQL command.
And then, everything runs good.
vNextAuto = GetDB_IntValue("SELECT TOP 1 * FROM procedures ORDER BY ID DESC", "ID") + 1
Dim SQL_command As String = "INSERT INTO procedures VALUES (?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(SQL_command, Con)
cmd.CommandType = CommandType.Text
With cmd.Parameters
.AddWithValue("#id", OleDbType.Integer).Value = vNextAuto
.AddWithValue("#a2", OleDbType.VarChar).Value = txtFName.Text
End With
Try
Con.Open()
cmd.ExecuteNonQuery()
'Dim id As String = cmd.Parameters("#id").Value.ToString()
'MessageBox.Show("Record inserted successfully. ID = " & id)
Catch ex As Exception
Throw ex
Finally
Con.Close()
Con.Dispose()
End Try

Table valued function parameter as varchar

I have this table-valued function in my SQL Server 2008 database:
Create FUNCTION dbo.fct1(#Code varchar(10) )
RETURNS TABLE
AS
RETURN
(
select CODE , NOM
from CODIF
where NUMERO = 'TP'
and CODE = #Code
)
When I call it from my code :
sSQL = "select * from fct1(" & Code & ")"
Dim cmd As New SqlCommand(sSQL, Connection)
If Connection.State <> ConnectionState.Open Then Connection.Open()
Dim rd As SqlClient.SqlDataReader
rd = cmd.ExecuteReader()
I get this error :
column name not valid : 'EA2'
I need to know :
What is the reason of this error?
How can I fix it?
You're missing the ' from the sql.
You should probably parameterise the SQL and try to use using as well:
using conn as new sqlconnection(connstring), comm as new sqlcommand("",conn)
conn.open()
comm.commandtype = commandtype.text
comm.commandtext = "select * from fct1(#Code)"
comm.parameters.addwithvalue("#Code",Code)
Dim rd as sqldatareader = comm.executedatareader
end using
Missed '
sSQL = "select * from fct1('" & Code & "')"
Dim cmd As New SqlCommand(sSQL, Connection)
If Connection.State <> ConnectionState.Open Then Connection.Open()
Dim rd As SqlClient.SqlDataReader
rd = cmd.ExecuteReader()

VB.NET: SQL Parameters (Update)

I'm trying to update some values but it seems that there is a problem with my code.
Dim con As New OleDbConnection
Dim id As Integer = Main.Passes.Items.Count + 1
Try
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ...\database.mdb"
con.Open()
Catch ex As Exception
MsgBox("There was a problem connection to database.", MsgBoxStyle.Critical)
End Try
Dim objCmd As OleDbCommand
Dim strSQL As String
strSQL = "UPDATE passwords SET website= #website, username= #username, password= #password, dates= #datenow, notes= #notes WHERE id= #id"
objCmd = New System.Data.OleDb.OleDbCommand(strSQL, con)
objCmd.Parameters.AddWithValue("#website", txtURL.Text)
objCmd.Parameters.AddWithValue("#username", txtUser.Text)
objCmd.Parameters.AddWithValue("#password", txtPass.Text)
objCmd.Parameters.AddWithValue("#datenow", txtDate.Text)
objCmd.Parameters.AddWithValue("#notes", txtNotes.Text)
objCmd.Parameters.AddWithValue("#id", id)
objCmd.ExecuteNonQuery()
con.Close()
The error I get is: Syntax error in UPDATE statement.
Try enclose your column names in `` (backticks). I guess password column is the culprit, probably a keyword.

VB.Net Update doesn't update my database

This is the code that I am trying to run. It will run without errors, but it does not update my database.
It will work when it is not Parameterized, but when I add parameters in it starts acting up. Here is the problematic code.
Public Sub updateItem()
Dim sqlConnection1 As New OleDb.OleDbConnection(dbProvider + dbSource)
Dim cmd As New OleDb.OleDbCommand
cmd.CommandText = "Update Inventory set PartNumber='#PartNumber', Brand='#Brand', PartDescription='#PartDescription', PartCost=#PartCost, InventoryOnHand=#InventoryOnHand, PartSupplier='#PartSupplier' where PartNumber = '#PartNumMatch' and Brand = '#PartManMatch';"
cmd.Parameters.AddWithValue("#PartNumber", partNumberText.Text().ToUpper())
cmd.Parameters.AddWithValue("#Brand", ManufacturerText.Text())
cmd.Parameters.AddWithValue("#PartDescription", partDescriptionText.Text())
cmd.Parameters.AddWithValue("#PartCost", Convert.ToDouble(partCostText.Text()))
cmd.Parameters.AddWithValue("#InventoryOnHand", Convert.ToInt32(quantityText.Text()))
cmd.Parameters.AddWithValue("#PartSupplier", partSupplierText.Text())
cmd.Parameters.AddWithValue("#PartNumMatch", partNumberText.Text().ToUpper().Trim())
cmd.Parameters.AddWithValue("#PartManMatch", ManufacturerText.Text().ToUpper().Trim())
cmd.CommandType = CommandType.Text
cmd.Connection = sqlConnection1
Try
sqlConnection1.Open()
cmd.ExecuteNonQuery()
sqlConnection1.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
sqlConnection1.Close()
End Try
'SQl statement to try to update the selected row's data matched against the database.
'update listview here.
End Sub
I am almost sure that the syntax is correct because my insert works. Here is the code to my insert.
Private Sub addItem()
'SQL statement here to add the item into the database, if successful, move the information entered to listview.
Dim sqlConnection1 As New OleDb.OleDbConnection(dbProvider + dbSource)
Dim cmd As New OleDb.OleDbCommand
'Dim reader As SqlDataReader
cmd.CommandText = "Insert into Inventory ([PartNumber], [Brand], [PartDescription], [PartCost], [InventoryOnHand], [PartSupplier]) values (#PartNumber, #Brand, #PartDescription, #PartCost, #InventoryOnHand, #PartSupplier);"
cmd.Parameters.AddWithValue("#PartNumber", partNumberText.Text().ToUpper().Trim())
cmd.Parameters.AddWithValue("#Brand", ManufacturerText.Text().ToUpper().Trim())
cmd.Parameters.AddWithValue("#PartDescription", partDescriptionText.Text().Trim())
cmd.Parameters.AddWithValue("#PartCost", partCostText.Text())
cmd.Parameters.AddWithValue("#InventoryOnHand", quantityText.Text())
cmd.Parameters.AddWithValue("#PartSupplier", partSupplierText.Text().Trim())
cmd.CommandType = CommandType.Text
cmd.Connection = sqlConnection1
Dim found As Boolean = False
Try
sqlConnection1.Open()
cmd.ExecuteNonQuery()
MessageBox.Show(cmd.CommandText)
sqlConnection1.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
sqlConnection1.Close()
End Try
End Sub
I know that the where clause is right, I have hard-coded the value's and I have also pushed the value's being compared to message box's and compared them directly to the information in the database.
Thanks in advance for any and all opinions and I hope we can get it figured out.
The parameters placeholders should not be enclosed in single quotes
cmd.CommandText = "Update Inventory set PartNumber=#PartNumber, Brand=#Brand, " +
"PartDescription=#PartDescription, PartCost=#PartCost, " +
"InventoryOnHand=#InventoryOnHand, PartSupplier=#PartSupplier " +
"where PartNumber = #PartNumMatch and Brand = #PartManMatch;"
You don't need to do that, it only confuses the code that tries to replace the parameter placeholder with the actual value. They will be treated as literal strings
Try this,
cmd.CommandText = "Update Inventory set PartNumber=#PartNumber, Brand=#Brand, " +
"PartDescription=#PartDescription, PartCost=#PartCost, " +
"InventoryOnHand=#InventoryOnHand, PartSupplier=#PartSupplier " +
"where PartNumber = #PartNumMatch and Brand = #PartManMatch;"
cmd.Parameters.AddWithValue("#PartDescription", partDescriptionText.Text())
cmd.Parameters.AddWithValue("#PartCost", Convert.ToDouble(partCostText.Text()))
cmd.Parameters.AddWithValue("#InventoryOnHand", Convert.ToInt32(quantityText.Text()))
cmd.Parameters.AddWithValue("#PartSupplier", partSupplierText.Text())
cmd.Parameters.AddWithValue("#PartNumMatch", partNumberText.Text().ToUpper().Trim())
cmd.Parameters.AddWithValue("#PartManMatch", ManufacturerText.Text().ToUpper().Trim())