Avatar billede jmc Nybegynder
28. august 2003 - 13:24 Der er 18 kommentarer og
1 løsning

update, skriver et " ned ind i record?

SQLén ser sådan ud:
SQL = "UPDATE Medlemmer SET Firma = '" & firma & "', Adresse = '" & adresse & "', Adresse2 = '" & adresse2 & "', vBy = '" & by & "', Kontakt = '" & kontakt & "' WHERE medlemsnr = " & medlemsnr

hvad er årsagen?
Avatar billede -thomas- Nybegynder
28. august 2003 - 13:26 #1
Prøv at udskrive din sql-streng:

Response.Write SQL
Avatar billede ursusquietus Nybegynder
28. august 2003 - 13:27 #2
Forstaar ikke helt hvad du mener. Kan du evt. vise SQL'en som den bliver fyret af til DB'en?
Avatar billede kichian Nybegynder
28. august 2003 - 13:33 #3
For at skrive et " ned i databasen. skal det erstattes med "".
Avatar billede jmc Nybegynder
28. august 2003 - 13:40 #4
UPDATE Medlemmer SET Firma = 'MAN', Adresse = 'Ni J 1', Adresse2 = '', vBy = '9900 Frederikshavn"', Kontakt = 'Sille' WHERE medlemsnr = 30001UPDATE Medlemmer ....
Vi ser helt tydeligt at der kommer et " ind efter Frederikshavn
Avatar billede jmc Nybegynder
28. august 2003 - 13:41 #5
kichian:
Problemet er ikke at jeg gerne vil skrive " i databasen, men snarere at jeg erne vil undgå dette.
Avatar billede -thomas- Nybegynder
28. august 2003 - 13:47 #6
Det er nok ikke sql-sætningen den er gal med, prøv at udskrive variablen by sådan:

Response.Write "-" & by & "-"

så kan du se om '' er med i variablen.
Avatar billede jmc Nybegynder
28. august 2003 - 14:08 #7
Den siger:
-9900 Frederikshavn"--8500 Grenå"--8850 Bjerringbro"--9800 Hjørring"--8000 Århus C"--8310 Tranbjerg J"--8200 Århus N"--9310 Vodskov"--8900 Randers"--9100 Aalborg"--8100 Århus C"--8220 Brabrand"--9000 Aalborg"--8464 Galten"--8100 Århus C"--8200 Århus N"--8500 Grenå"--8000 Århus C"--9400 Nørresundby"--8210
Avatar billede jmc Nybegynder
28. august 2003 - 14:11 #8
kan det være pga. at den splittes som den sidste?

for each f in fil
        t = split(f,""",""")
       
        if ubound (t) > -1 then
           
            medlemsnr        =    mid(t(0), 2)
            kontakt            =    re(t(1))
            firma            =    re(t(2))
            adresse            =    re(t(3))
            adresse2        =    re(t(4))
            by                =    re(t(5))
Avatar billede jmc Nybegynder
28. august 2003 - 14:12 #9
den hedder nemlig
"medlemsnr","kontakt","firma","adresse","adresse2","by,"
Avatar billede -thomas- Nybegynder
28. august 2003 - 14:14 #10
Ja det er nok din løkke den er gal med og ikke sql'en...
Avatar billede jmc Nybegynder
28. august 2003 - 14:24 #11
hvad skal jeg dog gøre (:o~
Avatar billede eagleeye Praktikant
28. august 2003 - 14:30 #12
Prøv at komme med et eks på hvordan det ligger filen det kunne type på der er et " for meget :

"30001","Sille","MAN","Ni J 1","","900 Frederikshavn""
Avatar billede jmc Nybegynder
28. august 2003 - 14:34 #13
den er sådan:
"30001","Sille","MAN","Ni J 1","","900 Frederikshavn"
"30002","kille","kvin","Nil J 1","","900l Frederikshavn"
osv.
Avatar billede jmc Nybegynder
28. august 2003 - 14:43 #14
<%
if Request.ServerVariables("content_length") <> 0 then
    doFormatering
else
    doShowUpload
    'returnAll
end if


sub doFormatering
    'Response.Write Request.Form("fil")
    dim fil,f
   
    fil = Request.Form("fil")
    fil = Split(fil,vbCrLf)
   
    ' Initialisering af databaseconnection
    Set oConn = Server.CreateObject("ADODB.Connection")
    Set oRS = Server.CreateObject("ADODB.Recordset")
    c = Application("db")
   
    oConn.ConnectionString = c
    oConn.Open
   
   
    dim medlemsnr, kontakt, firma, adresse, adresse2, by,  SQL
   
    for each f in fil
        t = split(f,""",""")
       
        if ubound (t) > -1 then
           
            medlemsnr        =    mid(t(0), 2)
            kontakt            =    re(t(1))
            firma            =    re(t(2))
            adresse            =    re(t(3))
            adresse2        =    re(t(4))
            by                =    re(t(5))

           

          '## Check om medlemsnummeret findes i databasen findes i forvejen'
            SQL_findes = "SELECT medlemsnr FROM medlemmer WHERE medlemsnr= " & medlemsnr & ""
            Set rs = oConn.Execute(SQL_findes)
           
            '## Hvis det ikke gør, indsættes det'
            If Rs.Eof Then
              SQL =  "INSERT INTO Medlemmer (medlemsnr,Firma,Adresse,Adresse2,vBy,Kontakt) " & _
                                  " VALUES (" & medlemsnr & ",'" & firma & "','" & adresse & "','" & adresse2 & "','" & by & "','" & kontakt & "')"
            '## Hvis det gør, opdateres det'
            Else
             
                SQL = "UPDATE Medlemmer SET Firma = '" & firma & "', Adresse = '" & adresse & "', Adresse2 = '" & adresse2 & "', vBy = '" & by & "', Kontakt = '" & kontakt & "' WHERE medlemsnr = " & medlemsnr
Response.Write "-" & by & "-"
            End If
           
           
            'Response.Write SQL
            'oConn.Execute(SQL)
           
            medlemsnr = ""
            firma = ""
            adresse = ""
            adresse2 = ""
            by = ""
            kontakt = ""
        end if
       
    next
   
    count = UBound(fil)
   
    %>
Avatar billede jmc Nybegynder
28. august 2003 - 14:44 #15
HJÆLPPPP please
Avatar billede eagleeye Praktikant
28. august 2003 - 14:47 #16
Det er fordi by er den sidste så kommer slut " men i stregen.

JEg kan se du har taget højde for den første " i medlemnummer da du har en Mid(str,2) det fjerner den føste karakter som er ".

medlemsnr        =    mid(t(0), 2)


Så på samme måde skal du fjerne den sidste:

by                =    re(Left(t(5)),len(t(5))-1)
Avatar billede eagleeye Praktikant
28. august 2003 - 14:48 #17
hov det skal være:

by                =    re(Left(t(5),len(t(5))-1)
Avatar billede eagleeye Praktikant
28. august 2003 - 14:49 #18
og så lige en gang mere der mangler en slut ) til re .. Hvad er re ??

by                =    re(Left(t(5),len(t(5))-1))
Avatar billede jmc Nybegynder
28. august 2003 - 15:37 #19
takker
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