Rs.Eof ??? hvad hedder mit recordset, kan du hjælpe. her er min kode:
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, firma, adresse, adresse2, by, kontakt, SQL
for each f in fil t = split(f,""",""")
if ubound (t) > -1 then
medlemsnr = mid(t(0), 2) firma = re(t(1)) adresse = re(t(2)) adresse2 = re(t(3)) by = re(t(4)) kontakt = re(t(5))
Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open Application("db")
istedet for
' Initialisering af databaseconnection Set oConn = Server.CreateObject("ADODB.Connection") Set oRS = Server.CreateObject("ADODB.Recordset") c = Application("db")
oConn.ConnectionString = c oConn.Open
Recordsettet angiver du jo først når du har lavet en sql-sætning at smide op imod databasen.
Du løber da ikke records igennem med for each f in fil, hvis fil er din form. Så løber du jo bare felterne igennem i formen? I ovenstående er fil jo heller ikke din form, men et felt formen og du løbe alle linier i feltet igennem.
If (rs_medlemmer.Fields.Item("medlemsnr").Value) contains medlemsnr Then ' denne linie skal den løbe alle records igennem. update() else insert() end if
Er der ikke en som vil vise mig hvordan? Jeg hæver points.
Du løber alle felter i din form igennem og for hvert felt der findes splitter du det op i 6 variabler. Herefter vil du tjekke om den første variabel (medlemsnummeret) findes i databasen i forvejen, opdatere hvis den gør og indsætte hvis den ikke gør. Har jeg forstået det rigtigt?
Så er det i hvert fald noget hen af:
for each f in fil t = split(f,""",""")
if ubound (t) > -1 then
medlemsnr = mid(t(0), 2) firma = re(t(1)) adresse = re(t(2)) adresse2 = re(t(3)) by = re(t(4)) kontakt = re(t(5))
'## Check om medlemsnummeret findes i databasen findes i forvejen' SQL = "SELECT ID FROM Medlemmer WHERE medlemsnr= '" & medlemsnr & "'" Set rs = ConnO.Execute(sql)
'## 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 " osv osv End If
rs.Close Set rs = Nothing
'Response.Write SQL oConn.Execute(SQL)
medlemsnr = "" firma = "" adresse = "" adresse2 = "" by = "" kontakt = "" end if
jeg har rettet til: SQL_findes = "SELECT medlemsnr FROM Medlemmer WHERE medlemsnr= '" & medlemsnr & "'" Set rs = Conn.Execute(SQL_findes) MEN STADIGT SAMME FEJL.
Skal oConn.Execute(SQL) egentligt ikke executes inde i if-then-else for hvor gang den er is eller else?
Jeg har følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '', Kontakt = '9900 Frederikshavn"' WHERE medlemsnr = 31'.
/admin/upload.asp, line 79
jeg byttede lidt rundt på værdierne i den kommeseparede fil og dernæst denne fejl. Jeg kan ikke få det på plads.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''9900 Frederikshavn", Kontakt = 'Sille' WHERE medlemsnr = 31'.
UPDATE Medlemmer SET medlemsnr = 30001, Firma = 'MANSE', Adresse = 'F Julvej 2', Adresse2 = '', vBy = '9900 Frederikshavn", Kontakt = 'Sille' WHERE medlemsnr = 30001UPDATE Medlemmer SET medlemsnr = 30009, osv.
ldanielsen jeg vil meget gerne beholde medlemsnr da noget jo skal oprettes og noget opdateres fra det samme upload af en kommasep.
Den skriver stadigt: "' efter Frederikshavn
???
UPDATE Medlemmer SET medlemsnr = 30001, Firma = 'MANSE', Adresse = 'F Julvej 2', Adresse2 = '', vBy = '9900 Frederikshavn"', Kontakt = 'Sille' WHERE medlemsnr = 30001UPDATE Medlemmer SET medlemsnr = 30009, osv.
SQLén ser sådan ud: SQL = "UPDATE Medlemmer SET Firma = '" & firma & "', Adresse = '" & adresse & "', Adresse2 = '" & adresse2 & "', vBy = '" & by & "', Kontakt = '" & kontakt & "' WHERE medlemsnr = " & medlemsnr
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.