26. april 2000 - 07:22Der er
17 kommentarer og 2 løsninger
Indsætte i MySQL-DB fra ASP
Nedenstående virker fint med en Access database, men nu er jeg skiftet til MySQL og får nu: "ODBC driver does not support the requested properties" Hvad skal der gøres for at MySQL vil indsætte date'ene?
Du skal først lave en connection oConn = server.createobject("ADODB.connection") set rs = server.createobject("ADODB.recordset") så skal du lave en sql-sætning, med en update SQL="UPDATE tabelnavn SET her skal værdierne stå fx: pp = "&request("pp")&" WHere et eller andet unikt, så det ikke er alle records der bliver opdateret" set rs = oConn.execute(SQL)
Hvordan skal min SQL-fætter se ud? Har prøvet: SQL = "UPDATE t_fest SET navn = "&request("navn")&", mail = "&request("mail")&", comment = "&request("comment")&", pp = "&request("pp")&", po = "&request("po")&"" -men det virker ikke! (..måske skulle man have ventet til man var lidt rutineret i ASP inden man kastede sig over det her :-)
SQL = "UPDATE t_fest SET navn = '"&request("navn")&"', mail = '"&request("mail")&"', comment = '"&request("comment")&"', pp = '"&request("pp")&"', po = "&request("po")
SQL = "UPDATE t_fest SET navn = '"&request("navn")&"', mail = '"&request("mail")&"', comment = '"&request("comment")&"', pp = '"&request("pp")&"', po = '"&request("po")
vedr. det med at sætte &"'" i slutningen, så er jeg faktisk ikke sikker på at det er nødvendigt. Du ska tænke på at det du gør er at opbygge en tekststreng du sætter ind i variablen SQL og selve tekststrengen skal ikke indeholde en afsluttende "pling" Hverken dobbelt eller enkelt, men hvis PO er et tekstfelt skal indholdet selvfølgeligt omkranses af "plinger"
Du ville kunne teste det ved at skrive response.write sql og så se teksten på skærmen.
nu giver den ingen fejlmeldinger og redirecter fint, men der bliver ikke sat data i db'en - har også prøvet select * from t_fest; fra mysql-promten... Kan man overhovedet bruge update når der ikke er nogen data i forvejen eller skal man bruge insert? ...tilføjer lige 50 point for at holde gejsten oppe :-)
Update kan du KUN bruge til at opdatere det der er der i forvejen. Insert bruger du til at oprette det første gang.
Du skal derfor bruge select count(*) as antal from yyy where zzz = ttt for at checke om det findes i forvejen. Hvis antal er 0 findes det ikke og du skal bruge insert og hvis antal er 1 eller mere skal du bruge update. Du ville formentligt kunne prøve med update og ved fejl afgøre at det er fordi der ikke findes noget og så bruge insert, men det er ikke den "pæne" måde at gøre det på.
Jeg har lige fået det til at virke for 10 min. siden. SQL = "INSERT INTO t_fest SET navn = '"&request("navn")&"'...osv. var hvad der skulle til. ..men mange tak for hjælpen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.