SQL Anfänger

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQL Anfänger

Beitrag von Kiffi »

MenschMarkus hat geschrieben:Die implizite Schreibweise die ich hier verwendet habe hat halt den Vorteil, dass ich weniger Code programmieren muss.
jeder hat seinen eigenen Stil, kein Thema.

Da HemSA hier allerdings anscheinend Probleme mit Stringverknüpfungen hat, wollte ich lediglich eine alternative Schreibweise zeigen.

Grüße ... Peter
Hygge
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: SQL Anfänger

Beitrag von HemSA »

Hallo Ihr Beiden,
Danke für alles.

Ich hatte dieses Problem.

Wenn meine text.txt Datei so aussieht

Code: Alles auswählen

25	Hallo	3.141
18	Welt	2.718
wurden beide Zeilen eingelesen (benütze den DB-Browser für SQLite).

Wenn ich aber die text.txt Datei so geändert habe

Code: Alles auswählen

25	Hallo	m3.141
18	Welt	2.718
wurde nur die untere Zeile eingelesen.

Das habe ich nicht nachvolziehen können, hat mich den ganzen Tag gekostet.

Mit der Version von Kiffi hat es geklappt

Code: Alles auswählen

Wert1.s = StringField(String, 1, #TAB$)
Wert2.s = StringField(String, 2, #TAB$)
Wert3.s = StringField(String, 3, #TAB$)

Query = "INSERT INTO `mytable` (wert1, wert2, wert3) VALUES ('" + Wert1 + "', '" + Wert2 + "', '" + Wert3 + "')"
Jetzt mache ich mich mal an die Originaldatei ran die eingelesen werden soll.

Vielen Dank nochmal.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: SQL Anfänger

Beitrag von MenschMarkus »

Code: Alles auswählen

Code:
25   Hallo   m3.141
18   Welt   2.718
wurde nur die untere Zeile eingelesen.
Das habe ich nicht nachvolziehen können, hat mich den ganzen Tag gekostet.
Ich hatte das 3. Feld als Float deklariert. "m3.141" Ist keine Zahl mehr, sondern ein String !! In ein Float Feld kann kein String eingelesen werden !!

SQLite führt fehlerhafte Queries nicht aus, daher wurde die Zeile nicht eingelesen.

In Kiffis Beispiel sind alles Character deklarierte Felder, da spielt es keine Rolle ob ein "m" vore einer Zahl steht.
Wissen schadet nur dem, der es nicht hat !
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: SQL Anfänger

Beitrag von HemSA »

Hallo MenschMarkus,

ich hatte auch alle Felder als String deklariert.

Habe deine Zeile von

Code: Alles auswählen

Query = "CREATE TABLE `mytable` (wert1 INT,wert2 CHAR,wert3 float)"
in

Code: Alles auswählen

Query = "CREATE TABLE `mytable` (wert1 CHAR,wert2 CHAR,wert3 CHAR)" 
geändert. Hat aber trotzdem nicht geklappt.

Denke sonst hätte es auch mit dem Code von Kiffi nicht geklappt, wenn ich es so gelassen hätte wie bei dir.

Danke nochmal.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Antworten