Avatar billede orfeus Nybegynder
31. oktober 2000 - 10:57 Der er 43 kommentarer og
1 løsning

ASP, SQL HJÆLP!!!!!!!!!!!

Jeg skal oprette en ordre, men ordrenummer genereres i databasen, ved at trykke \'enter\' eller \'tab\'
kan man indsætte en af de to ind i en SQL- sætning????
Avatar billede nktarget Nybegynder
31. oktober 2000 - 11:00 #1
Ja, men hvad har lavet på nuværende tidspunkt.
Lad os se lidt kode
Avatar billede tdaugaard Nybegynder
31. oktober 2000 - 11:01 #2
Indsætte Enter eller Tab ? Nej. (ikke af hvad jeg ved!)

Genereres hvordan ?
Avatar billede sone Nybegynder
31. oktober 2000 - 11:01 #3
Det er fordi du har et felt med autonummerering.
Udlad at nævne feltet i din SQL-sætning, så får feltet automatisk en ny værdi.
Avatar billede krogstrup Nybegynder
31. oktober 2000 - 11:03 #4
...jeg troede ikke autonummerering feltet fandtes i SQL serveren (jeg ved godt det findes i Access!) ???
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:03 #5
jeg bruger indtil videre en kommasepareret fil, men vil bruge min indkøbskurv(små Ændringer):
Do While objTextS.AtEndOfStream <> True
    strLine = objTextS.Read(1)
    strLine = Server.HTMLEncode(strLine)
   
        IF (strLine <> \",\") THEN
        Response.Write strLine & VbCrLf
        strLine1 = strLine1 & strLine
        ELSE
        Response.Write \"<BR>\" & VbCrLf
        Response.Write strLine1 & \" Kundenr. <BR>\" & VbCrLf
        strQ = \"INSERT INTO Salgshoved (Kundenr_) \"
        strQ = strQ & \"VALUES (\'\" & strLine1 & \"\') \"
        Response.Write strQ
        SQL= \"SELECT Nummer FROM Salgshoved \"&_
            \"WHERE (Kundenr_=\'\" & strLine1 & \"\') \"   
        Conn.Execute strQ
        Conn.Execute SQL
Avatar billede krogstrup Nybegynder
31. oktober 2000 - 11:04 #6
Nå, \"SQL\" i overskriften på dette spm indikerer blot at der er problemer med sql sætningen og ikke at der er tale om en SQL server !!!

Tag jer ikke af ovenstående kommentar :-)
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:05 #7
desværre, sone!! har prøvet
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:08 #8
hov,det er en attribut ved navnet Nummer i slagshoved, der autogenereres
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:19 #9
Kom nu, jeg skal aflevere hovedopgave på fredag, så der er tryk på.......
Avatar billede sone Nybegynder
31. oktober 2000 - 11:26 #10
Hvilken fejl får du?
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:34 #11
hvis jeg prøver at lade være med at sætte noget i Nummer kommer fejlen:
Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Navision Software a/s][Navision Financials ODBC Driver]Internal error

/laese2.asp, line 72
Avatar billede sone Nybegynder
31. oktober 2000 - 11:43 #12
Hvis du udskriver strQ - hvilken SQL er det så der laver fejlen?
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:48 #13
SQL= \"SELECT Nummer FROM Salgshoved \"&_
            \"WHERE (Kundenr_=\'\" & strLine1 & \"\') \"    var bare et forsøg, den er ikke problemet, derimod når jeg sætter denne sql ind:
strQ = \"INSERT INTO Salgslinie (Type, Nummer, Antal) \"

                    strQ = strQ & \"VALUES (\" & \"\'vare\', \'\" & strLine2 & \"\', \"

                    strLine = \"\"
                   
                    do While (strLine <> \" \")
                    strLine = objTextS.Read(1)
                    strLine = Server.HTMLEncode(strLine)
                                   
                        Response.Write strLine & VbCrLf
                        strLine3 = strLine3 & strLine
                    Loop
                        Response.Write \"<BR>\" & VbCrLf
                        Response.Write strLine3 & \" Antal <BR>\" & VbCrLf
                       
                        strQ = strQ & strLine3 & \") \"
                        Response.Write strQ & vbcrlf
                        Conn.Execute strQ
Avatar billede sone Nybegynder
31. oktober 2000 - 11:55 #14
...jeg prøver igen: Prøv at udskrive strQ så vi kan se hvad du sender til databasen
Avatar billede orfeus Nybegynder
31. oktober 2000 - 11:58 #15
første: INSERT INTO Salgshoved (Kundenr_) VALUES (\'40000\')
anden: INSERT INTO Salgslinie (Type, Nummer, Antal) VALUES (\'vare\', \'1952-W\', 3 )
Avatar billede orfeus Nybegynder
31. oktober 2000 - 13:26 #16
stadigvæk ikke løst problemet!!!!!!!!!!!!!!!!!!!!!!!!!!!
lad høre fra jer!!
Avatar billede spacey Nybegynder
31. oktober 2000 - 13:32 #17
er feltet \"Kundenr_\" et tekstfelt?
Hvis det er et talfelt skal de to \' og \' fjernes uden om værdien du indsætter....
Avatar billede sone Nybegynder
31. oktober 2000 - 13:34 #18
Hvilken af de 2 sætninger bliver udført i linie 72 (hvor fejlen opstår) ?
Avatar billede orfeus Nybegynder
31. oktober 2000 - 13:36 #19
den her: INSERT INTO Salgslinie (Type, Nummer, Antal)
Avatar billede orfeus Nybegynder
31. oktober 2000 - 13:37 #20
kundenr_ er en tekststreng i navision
Avatar billede sone Nybegynder
31. oktober 2000 - 13:42 #21
Hvis Type og Nummer er tekst-felter og antal er tal, så kan jeg ikke se nogle fejl...

Opklarende spm: Har du andre INSERT som virker ?
Avatar billede orfeus Nybegynder
31. oktober 2000 - 13:45 #22
øv, for det er de og det virker ikke
Avatar billede orfeus Nybegynder
31. oktober 2000 - 13:45 #23
kun den med kundenummeret, den er indført, når man ser i databasen, men der er ikke noget nummer
Avatar billede orfeus Nybegynder
31. oktober 2000 - 13:46 #24
altså ordrenummer
Avatar billede orfeus Nybegynder
31. oktober 2000 - 14:15 #25
kig ind det samme problem:  http://www.eksperten.dk/spm/30890
Avatar billede frank_jensen Nybegynder
31. oktober 2000 - 15:00 #26
Er det ikke et probem med relationerne ? Er du sikker på, at du kan kører ren SQL på navision, uden at bruge fremmednøgler ? Hvordan får du Navision til at se, at de 2 INSERT INTO sætninger hører sammen ???
Avatar billede orfeus Nybegynder
31. oktober 2000 - 16:06 #27
hvordan løses det??? jeg er helt på bar bund
Avatar billede frank_jensen Nybegynder
01. november 2000 - 08:14 #28
Hvordan er relationen mellem de to tabeller ? Der må være en primærnøgle i Slagshoved (nok ordrenummerer), og dette felt må jo også være i Salgslinie-tabellen, og her må det have variabeltype der heller tal-et-eller-andet, som højst sandsynligt er en del af primærnøglen...  Løsning, du skal kører INSERT INTO sætning 1, hente det anvendte ordrenummer, og angive ordrenummeret i din INSERT INTO sætning 2...
Avatar billede orfeus Nybegynder
01. november 2000 - 08:16 #29
problemet er bare når jeg henter det anvendte ordrenummer, kommer der ingenting, da det ikke bliver oprettet, se top
Avatar billede frank_jensen Nybegynder
01. november 2000 - 08:23 #30
Hvordan hente du ordrenummret ??
Avatar billede orfeus Nybegynder
01. november 2000 - 08:24 #31
SQL= \"SELECT Nummer FROM Salgshoved \"&_
            \"WHERE (Kundenr_=\'\" & strLine1 & \"\') \"   
Avatar billede frank_jensen Nybegynder
01. november 2000 - 08:26 #32
Hvad nu, hvis kunden har flere ordre ??? Hvilke nummer får du så ud, det første ???
Avatar billede orfeus Nybegynder
01. november 2000 - 08:28 #33
det er lige det, ingen.......
Avatar billede frank_jensen Nybegynder
01. november 2000 - 08:36 #34
Du bliver vist nødt til at oprette endnu et felt i tabellen, hvor du kan gemme en eller anden tilfældig værdi, som du så kan genkende ordren på, og herefter hente ordrenummeret og slette det tilfældige nummer, f.eks. session-ID. Det vil gøre, at du er sikker på, at du får fat i det rigtige ordrenummer...
Avatar billede orfeus Nybegynder
01. november 2000 - 08:42 #35
jamen når jeg kigger ind i Navision er kundenummer sat ind men...........ordrenummeret, der skal autogenereres er ikke genereret, dvs der er ikke noget nummer at få fat i....så din løsning hjælper ikke..
Avatar billede frank_jensen Nybegynder
01. november 2000 - 08:48 #36
I Visual C++ skal man angive en standardværdi, når man bruger autonummering, jeg mener, at værdien er \"123456789\"...  Men ellers må du spørge Navision om, hvordan deres lort virker :o)
Avatar billede orfeus Nybegynder
01. november 2000 - 08:50 #37
vi har henvendt os til firaets konsulent, men han skal jo ha sin kaffe og læse sin avis, så.... vi har ikke fået svar endnu. men ellers tak for forsøget på hjælp
Avatar billede orfeus Nybegynder
01. november 2000 - 08:53 #38
de 200 point hænger endnu til interesserede, og jeg har tjent lidt flere i mellemtiden, som jeg vil smide oveni, plus min klassekammerats 290, så...... ca. 515 point
Avatar billede frank_jensen Nybegynder
01. november 2000 - 08:53 #39
Er du sikker på, at Navision bruger autonummering i dens primærnøgler, og det ikke bare er en funktionalitet, der ligger i GUI ???  Har du prøve at tvinge den til at bruge et ordrenr, du selv har valgt ? Find det næste ordrenummer, og angiv det i dit statement....
Avatar billede orfeus Nybegynder
01. november 2000 - 08:55 #40
nu er jeg ikke ekspert, så jeg ved ikke hvad GUI er. Men vi har forsøgt at finde det sidste ordrenummer og så lægge en til, men den giver besked om at vi ikke må skrive i feltet...
Avatar billede frank_jensen Nybegynder
01. november 2000 - 09:07 #41
GUI = Brugergrænsefladen...

Hvad er der så, at man kan gøre ???  Har i tjekket, hvordan rettighederne er på databasen ? Jeg mener, kan man tillade, at ændre \"eksterne\" programmer sender SQL statement ind til databasen ? Der er nogen form for sikkerhed der ? Eller skal man først oprette posten, opdatere viewet, og så hente ordrenummeret ??  Jeg kan desværre (vist nok ) ikke hjælpe mere...  Hjernen er gået på stand-by, da jeg selv skal afleverer hovedopgave om en uge...
Avatar billede orfeus Nybegynder
01. november 2000 - 09:10 #42
ok, tak for hjælpen, vi skal aflevere i overmorgen.... er der en sql-statement der hedder update view, måske???????
Avatar billede frank_jensen Nybegynder
01. november 2000 - 09:12 #43
Requery...  Ellers skal du lukke din connection og åbne den igen, da du højst sandsynligt bruger en static share, dvs. du hente dataene, og opdatering lavet efter du har hentet dataene, vises ikke, da du kører på en lokal kopi...  Men registrer Navision ordren, når der ikke er nogle linier, kan det være der, fisk lugter fra ???
Avatar billede orfeus Nybegynder
02. november 2000 - 09:41 #44
ingenting virker, så vi skriver os fra det i rapporten, tak for hjælpen.....
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
Kurser inden for grundlæggende programmering

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