I have a script that uploads items from a CSV. There are 3 columns to the CSV and 3 columns in the database.
Code (nvarchar 255)
name (nvarchar 255)
price (money)
The script is the following
' --- Connect to File.CSV
csvConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
&Server.MapPath("..\upload") &";Extended
Properties='text;HDR=Yes;FMT=Delimited';"
Set connCSV = Server.CreateObject("ADODB.Connection")
connCSV.Open csvConnStr
set csvCmd = Server.CreateObject("ADODB.Command")
csvCmd.ActiveConnection = connCSV
csvCmd.CommandType = 1
csvCmd.CommandText = "SELECT * FROM upload.csv"
set rsCsv = csvCmd.Execute
csvCode= rsCsv.fields.item(0)
csvName= rsCsv.fields.item(1)
csvPrice = rsCsv.fields.item(2)
Note - I have ommited the loop through the csv as do not feel it is a cause of my problem but can include upon request.
set insertCmd = Server.CreateObject("ADODB.Command")
insertCmd.ActiveConnection = conn
insertCmd.CommandType = 1
insertCmd.CommandText = "INSERT INTO tblProducts (code, name, price) VALUES (?,?,?)"
insertCmd.Parameters.append(
insertCmd.CreateParameter("@code",200,1,255,csvCode))
insertCmd.Parameters.append(
insertCmd.CreateParameter("@name",200,1,255,csvName))
insertCmd.Parameters.append(
insertCmd.CreateParameter("@price", 6, 1, , csvPrice))
insertCmd.Execute
My CSV has the following structure
Item Code, Item Name, Item Price
00001, First Item, 100
00002, Second Item, 100
The script will insert fine except in the scenario that the Item Code begins with the character 'F'.
Example,
Item Code, Item Name, Item Price
F0445, Item X, 200
Will insert a record but in the database will have the Code = 445
This is only with F, so codes such as
Item Code, Item Name, Item Price
G0445, Item Y, 200
FG0445, Item X, 200
Will insert quite alright. Is F a special character in VBScript? How come it won't insert the whole code?