Hallo,
dieses soll sp�ter verwendet werden, um mit einer Datei Daten in eine
bestehende DB einzulesen.
Zur Zeit wird der zusammengesetzte Sql Befehl nur im Browser angezeigt.
Daten kommen aus Datei, Spaltenname -->aryFelder und Datentypen -->
aryFeldtyp aus Array.
Anhand des Arrays aryFeldtyp soll dem Sql Befehl bei Text Anf�hrungszeichen,
bei money m�ssen die Kommas
durch Punkte ersetzt werden, bei Date auch Anf�hrungszeichen hinzugef�gt
werden.
Dieses ist in der Datei nicht enthalten.
Ich habe es wie unten versucht, bekomme bei Text in Anf�hrungszeichen eine
Fehlermeldung, leider kann ich mich nicht
mehr an die genaue Meldung erinnern.
Ungef�hr: Pa�t nicht mit join zusammen
Bei Komma in Punkt umwandeln, bekomme ich keine Fehlermeldung. Allerdings
werden die Kommas auch nicht umgewandelt.
Kann nat�rlich sein, das es schon vom Ansatz her falsch ist.
Danke im Vorraus
Petra
<%
sub lese_datei(aryFelder,aryFeldtyp,Tabellenname,Textdatei)
Set Dateiobjekt = Server.CreateObject("Scripting.FileSystemObject")
Set Textdatei =
Dateiobjekt.OpenTextFile(Server.MapPath(Textdatei),1)
while not Textdatei.AtEndOfLine
'------Datenzeile splitten Trennzeichen ; ------
zeile = Textdatei.Readline
aryWerte=split(zeile,";")
for i=0 to ubound(aryWerte)
for y=0 to ubound(aryFeldtyp)
'Werte mit Anf�hrungszeichen ausgeben
'if (aryFeldtyp(y)) = vachar then
'aryWerte = "(aryWerte(i))"
'end if
'Komma in Punkt umwandeln, sonst Problem beim insert
in DB
if (aryFeldtyp(y)) = "money" then
Replace(aryWerte(i)),",","."
end if
next 'Ende Feldtyp
'-----Datenzeile zusammensetzen f�r Sql -->Inhalt
ErgebnisWerte = join(aryWerte,",")
next 'Ende Wert
'Datensatz zusammensetzen f�r Sql --> Spaltennamen
for x=0 to ubound(aryFelder)
ErgebnisFelder = join(aryFelder,",")
next
ErgebnisFeldtyp = join(aryFeldtyp)
response.write "sql = "" insert into" & Tabellenname
&"("&ErgebnisFelder &")"&"Values("& ErgebnisWerte &")""<br>"
'response.write ErgebnisFeldtyp &"<br>"
wend
Textdatei.Close
'Nur Testzwecke
'response.write aryFelder(lbound(aryFelder))
'response.write Ubound(aryFelder)
end sub
'Arrays Spaltennamen und Datentypen
aryFelder=array("ArtNr","Name","PGID","Preis","Datum")
aryFeldtyp=array(varchar,varchar,varchar",money,date)
Tabellenname="Artikel"
Textdatei = "test.txt"
'Aufruf
call lese_datei(aryFelder,aryFeldtyp,Tabellenname,Textdatei)
%>
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp