Avatar billede tobby Nybegynder
16. februar 2002 - 16:19 Der er 8 kommentarer og
1 løsning

Det her er meget mærkeligt

Det her virker:

DBConnLogin = "DRIVER={MySql}; SERVER=XXXX; DATABASE=XXXX; UID=XXXX; PWD=XXXX"
Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open DBConnLogin
   
Query = "SELECT * FROM Menu"
   
Set Menu = Server.CreateObject("ADODB.RecordSet")
Menu.open Query, Connect, 1, 3
   
Navn = Request.Form("navn")
   
Menu.AddNew
Menu("Navn") = Navn

Det her virker IKKE:

DBConnLogin = "DRIVER={MySql}; SERVER=XXXX; DATABASE=XXXX; UID=XXXX; PWD=XXXX"
Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open DBConnLogin
   
Query = "SELECT * FROM Menu"
   
Set Menu = Server.CreateObject("ADODB.RecordSet")
Menu.open Query, Connect, 1, 3
   
Navn = Request.Form("navn")
   
Menu.AddNew
Menu("Navn") = Navn
Menu.Update

- Det er altså Menu.Update der fejler.

Jeg kan godt udlæse data uden problemer.

Hvad er der i vejen??
Avatar billede tobby Nybegynder
16. februar 2002 - 16:23 #1
Nu har jeg også en fejlkode:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Invalid string or buffer length

/nytdesign/test.asp, line 23

- linje 23 er Menu.Update
Avatar billede erikjacobsen Ekspert
16. februar 2002 - 16:31 #2
Du skal lave en INSERT sætning i stedet for at bruge ADO til Mysql.

Problemet er at ASP / ADO kigger på længden af "Navn"
feltet i din tabel. Men da den kun har fat i den første record,
er det aktuelle længde af dette felt, der bestemmer, og ikke
deen maksimale du har oprettet i tabellen.
Avatar billede tobby Nybegynder
16. februar 2002 - 16:33 #3
Ændrede lidt i db-strukturen, og får nu følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

/nytdesign/test.asp, line 22

Linje 22 = Menu("Navn") = Navn

Jeg har opsat tabellen således:

ID: Int, auto-increment, Primary Key, notnull
Navn: varchar(100), notnull

???
Avatar billede tobby Nybegynder
16. februar 2002 - 16:35 #4
Kan du give et eksempel på en sådan Insert-sætning?
Avatar billede erikjacobsen Ekspert
16. februar 2002 - 16:41 #5
jah

  INSERT INTO menu (navn) VALUES ("Peter")
Avatar billede tobby Nybegynder
16. februar 2002 - 16:44 #6
ok, men hvor og hvordan skal den ligge?

Sådan her?

DBConnLogin = "DRIVER={MySql}; SERVER=XXXX; DATABASE=XXXX; UID=XXXX; PWD=XXXX"
Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open DBConnLogin
   
Query = "SELECT * FROM Menu"
   
Set Menu = Server.CreateObject("ADODB.RecordSet")
Menu.open Query, Connect, 1, 3
   
Navn = Request.Form("navn")
   
INSERT INTO Menu (Navn) Values (" & Navn & ")
Avatar billede erikjacobsen Ekspert
16. februar 2002 - 16:54 #7
nej, nej, du skal sige noget i retning af connect.execute, så
vidt jeg husker. Prøv at lede efter det på eksperten - jeg
har ikke så meget forstand på (eler fidus til) ASP
Avatar billede tobby Nybegynder
16. februar 2002 - 16:57 #8
Fandt selv ud af det - takket være dig!
Avatar billede erikjacobsen Ekspert
16. februar 2002 - 16:59 #9
Fornemt. Jeg får hovedpine når jeg skal tænke i ASP-syntaks,
så det er jeg glad for du sparede mig for :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester