Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1051
  • Last Modified:

2147217900 Syntax error in INSERT INTO statement

I am trying to write to my db from a form.  Everyting works fine until I wanted to write an image name into a text field.

the sql string and the error output is as below;

>>>

The resource test2 has been add to the database

INSERT INTO products (name, descShort, description, resid, price, discount, Author, productCode, image, catCode, priority, featured, discontinued, live, prodinfo) VALUES ('test2', ' shsfh shsfxghsfg sxfghszfgh xfgjhxfg', 'erh szfdtz fghh zfghh azet hnc', 6, 4, False, 'ddsfsg', 'test123', 'marriage-report.jpg', 2, 1, False, False, False, False)

Data Entry was processed.

-2147217900 Syntax error in INSERT INTO statement.

>>>

The string will work if I comment out the code that writes to the image field but when I put it back the error is still there.  The string looks fine and as I said it will write to the db so it can't be a permissions error can it?

I am writing the page in asp, the db is access 2000.

I am also using the following functions to write the form fields to the db.

>>>

function sqlFieldNameInsert(fn)

'fn is the variable containing the field name to insert

if Request.form(fn) <> "" then
      theSql = theSql + theComma + fn
      theComma = ", "
End If

end function

>>>

function sqlFieldValueInsert(fv)

'fv is the variable containing the field value to insert

if Request.form(fv) <> "" then
  theSql = theSql + theComma + "'" + Request.form(fv) + "'"
  theComma = ", "
End If

end function

>>>

the functions above seem to work but I've included them just so that you have an idea of what is going on.  there is also a sqlFieldValueInsertInt function for adding numeric data which is the same as the second function above but without 'theComma' added to the string.

This is a problem I've had for a while and I've just come back to it and I'm still stumped as to why it won't work.

Any suggestions?
0
crmapley
Asked:
crmapley
  • 2
  • 2
1 Solution
 
D_M_DCommented:
Try this SQL Statement...Need single qoutes..


"INSERT INTO products (name, descShort, description, resid, price, discount, Author, productCode, image, catCode, priority, featured, discontinued, live, prodinfo) VALUES ('test2', ' shsfh shsfxghsfg sxfghszfgh xfgjhxfg', 'erh szfdtz fghh zfghh azet hnc', '6','4', 'False', 'ddsfsg', 'test123', 'marriage-report.jpg', '2', '1', 'False', 'False', 'False', 'False')"


--------
D_M_D
0
 
crmapleyAuthor Commented:
Tried it but still the same error.

I thought you weren't supposed to put quotes around numeric or boolean data so I shouldn't have expected it to work should I? Or is access quite forgiving on this matter?

one thing I've thought of but never been able to find an answer to is 'does an sql string have a limit in either the amount of fields or characters it can write?'.  That would explain why the addition of one more field stops it working.

Maybe if I split the string up it would work?  But two insert statements would create two different records with only half the info needed in each wouldn't it?

As you can tell I'm still finding my way with the sql language so you may need to explain things a bit.
0
 
YZlatCommented:
try changing database field name from "image" to something else- 'image' could be a reserved word
0
 
crmapleyAuthor Commented:
Hey, give the man the points.  It worked.

thanks mate!
0
 
YZlatCommented:
why did you give me a B?
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now