Avatar billede dd_ns Nybegynder
24. april 2003 - 10:02 Der er 10 kommentarer

tekst fil ind...

Jeg har en txt fil. Den skal så tage hver linie og putte dem ind i en sql. Det med SQL kan jeg godt, men jeg kan ikke lige huske hvordan jeg for hver linie seperat... help?
Avatar billede martin_moth Mester
24. april 2003 - 10:51 #1
Filnummer = FreeFile
  Open "C:\Fil.txt" For Input As #Filnummer
  Line Input #Filnummer, MinString1 'Putter 1. linie ind i MinString1
  Line Input #Filnummer, MinString2 'Putter 2. linie ind i MinString2
  '... osv
  Close #Filnummer
Avatar billede dd_ns Nybegynder
24. april 2003 - 11:04 #2
tak. og hvordan for jeg lige dette til at virke

conn.execute("insert into testtable (str_string) values('"&daviddenstore&"')")

ligesom i ASP/VB så skal den sætte den værdi ind som daviddenstore indeholder, men den siger fejl... HVAD?
Avatar billede martin_moth Mester
24. april 2003 - 11:31 #3
Taget lidt ud af en sammenhæng, må jeg sige...

Men der er dog noget der ligner åbenlyse fejl - jeg går ud fra at str_string er en variabel, hvis værdi du vil bruge - så skal du nuk skrive
  conn.execute("insert into testtable (" & str_string & ") values... osv.

Men som sagt, det er svært at gøre sig klog på hvordan du får det til at virke - du har givet een linie kode, og ikke engang en fejlmeddelse...
Avatar billede dd_ns Nybegynder
24. april 2003 - 11:34 #4
jeg har:

Sub Main()


Dim conn As New ADODB.Connection


conn.Open "Driver={sql server};server=pc1287;database=test;uid=sa;pwd="

Open "c:\fil_number_1.txt" For Input As #1



Do While EOF(1) = False
Line Input #1, linie
conn.Execute ("insert into testtable (str_string) values(denne)
a = a + 1
If a = 10 Then Exit Do



Loop


Close #1
MsgBox a


End Sub



Der hvor der står denne skal den skrive værdien af linie

forstår du...
Avatar billede martin_moth Mester
24. april 2003 - 11:37 #5
Denne linie ser meget forkert ud:
  conn.Execute ("insert into testtable (str_string) values(denne)

Og nej, jeg forstår ikke - du læser linierne fra filen ind i en variabel 'linie', som du ikke bruger til noget som helst...
Avatar billede dd_ns Nybegynder
24. april 2003 - 11:41 #6
Ligesom asp vb som ser sådan her ud:

conn.execute("insert into testtable (str_string) values('"&linie&"')")

Men sådan en sætning kan jeg ikke bruge i VB åbentbart...
Avatar billede martin_moth Mester
24. april 2003 - 11:57 #7
Nu er asp, VBScript og Visual basic ikke det samme.

Men du skal sætte et lovligt SQL-indtryk ind i din conn.Execute

Men lad os sige, at variablen linie indeholder "Hej med dig"

Og lad os sige, at du ønsker at sende følgende udtryk

  insert into testtable (str_string) values(hej med dig)

Så skriver du
  conn.Execute ("insert into testtable (str_string) values(" & linie & ")")

Om ovenstående udtryk giver mening viljeg ikke udtale mig om ;o)
Avatar billede martin_moth Mester
24. april 2003 - 11:57 #8
En fejlmeddelse siger jo en hel masse om hvad der går galt
Avatar billede ereoljo Nybegynder
30. april 2003 - 15:12 #9
Du burde nok køre på denne her måde.

Eksempel på 1. linje i din tekst fil

Delete id from tabel1

Så kører du det som står i tekst filen. I dit eksempel kører du den samme sql sætning lige så mange gange, som der er linjer i din tekst fil.

Sub Main()


Dim conn As New ADODB.Connection


conn.Open "Driver={sql server};server=pc1287;database=test;uid=sa;pwd="

Open "c:\fil_number_1.txt" For Input As #1



Do While EOF(1) = False
Line Input #1, linie
conn.Execute (linie)
a = a + 1
If a = 10 Then Exit Do



Loop


Close #1
MsgBox a


End Sub
Avatar billede ereoljo Nybegynder
30. april 2003 - 15:12 #10
undskyld ovenstående var et svar.
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