Syntax Error ASP.net in combinatie met een SQL query

Pagina: 1
Acties:
  • 166 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mydoom
  • Registratie: Februari 2009
  • Laatst online: 26-08 10:17

mydoom

omnomnom

Topicstarter
hallo mensen,

ik heb een probleem bij uitvoeren van een SQL query in ASP.net
ik wil graag een foto ( filenaam omschrijving, en foto naam) opslaan in database.
Ervoor gebruik ik de volgende Query en parameters:

OleDbCommand savephoto = new OleDbCommand("INSERT INTO image (image_filename, image_summary, image_name) VALUES (@iFilename, @iSum, @iname);", conn); // SQL query to save the file information

savephoto.Parameters.AddWithValue("iFilename", fileName.ToString());
savephoto.Parameters.AddWithValue("iSum", txt_image_summary.Text.ToString().Trim());
savephoto.Parameters.AddWithValue("iname", txt_image_name1.Text.ToString().Trim());
savephoto.ExecuteNonQuery();

ik heb me Query getest in MS Acces 2007 waar hij het prima doet het me netjes vraagt om de parameters.

als ik de mijn pagina ga testen krijg ik in me status label een Error die zegt:
De instructie INSERT bevat een syntaxisfout.

ook heb ik geprobeerd deze geprobeerd:
OleDbCommand savephoto = new OleDbCommand("INSERT INTO image ([image_filename], [image_summary], [image_name]) VALUES (@Filename, @iSum, @iname);", conn);

met dezelfde parameters.

ik weet niet of jullie mij kunnen helpen hiermee en dat ik zo genoeg info heb meegeven.
en misschien is de fout wel klein maar ik kan het niet vinden
mocht er al zo een topic bestaan.. Excuus 8)7

Acties:
  • 0 Henk 'm!

  • Kef
  • Registratie: Oktober 2004
  • Laatst online: 12-09 04:49

Kef

Moet je die @ ook niet gebruiken bij de parameters? dus savephoto.Parameters.AddWithValue("@iFilename", fileName.ToString()); etc?

En txt_image_summary.Text.ToString().Trim() mag ook gewoon txt_image_summary.Text.Trim() zijn, Text geeft dacht ik altijd een String terug.

[ Voor 35% gewijzigd door Kef op 13-06-2010 11:43 . Reden: Typo ]


Acties:
  • 0 Henk 'm!

  • mydoom
  • Registratie: Februari 2009
  • Laatst online: 26-08 10:17

mydoom

omnomnom

Topicstarter
nee die @in me parameters geeft geen verschil. ik dacht zelfs dat je ze helemaal niet hoeft te gebruiken

Acties:
  • 0 Henk 'm!

  • Kef
  • Registratie: Oktober 2004
  • Laatst online: 12-09 04:49

Kef

Ben even wat aan het testen geweest, en het volgende werkt voor mij:

OleDbCommand savephoto = new OleDbCommand("INSERT INTO image (image_filename, image_summary, image_name) VALUES (? , ?, ?);", conn); // SQL query to save the file information

savephoto.Parameters.AddWithValue("image_filename", fileName.ToString());
savephoto.Parameters.AddWithValue("image_summary", txt_image_summary.Text.ToString().Trim());
savephoto.Parameters.AddWithValue("image_name", txt_image_name1.Text.ToString().Trim());
savephoto.ExecuteNonQuery();

Edit: The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters. (http://msdn.microsoft.com...oledb.oledbparameter.aspx)

[ Voor 25% gewijzigd door Kef op 13-06-2010 15:04 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 14-09 17:03

Creepy

Tactical Espionage Splatterer

Oftewel: gewoon even de docs lezen, zoals wel vaker met een syntax fout ;) Ook zit je in het verkeerde forum. Voor implementatie zaken kan je gewoon in PRG terecht. Ik sluit echter je topic. Je moet er denk ik zelf nu wel uit kunnen komen, en eigenlijk had je had ook zelf wel op kunnen zoeken.

[ Voor 7% gewijzigd door Creepy op 13-06-2010 15:14 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.