Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
Moderator: Moderatoren
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
Hi,
ich bekomme das nicht zum Laufen und finde in den vielen Verzeichnissen auch kein Beispiel.
WAS WILL ICH ?
SELECT * FROM ... auf eine DBF Datei, es ist MIR egal ob die schon offen oder noch geschlossen ist, hauptsache ich bekomme mal Ergebnisse ...
angeblich soll das auch auf ein Array als Datengrundlage funktionieren, hat das schon jemand gesehen ?
ich bekomme das nicht zum Laufen und finde in den vielen Verzeichnissen auch kein Beispiel.
WAS WILL ICH ?
SELECT * FROM ... auf eine DBF Datei, es ist MIR egal ob die schon offen oder noch geschlossen ist, hauptsache ich bekomme mal Ergebnisse ...
angeblich soll das auch auf ein Array als Datengrundlage funktionieren, hat das schon jemand gesehen ?
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9388
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
Die Tabelle muss geöffnet sein, aber nicht selektiert. "FROM" erwartet den Alias als Parameter. Wenn kein Alias angegeben wurde, sollte der Tabellenname der Alias (Vorsicht bei ADS!) sein. Der Tabellenname kann nicht verwendet werden. Ein "Auto-Open" gibt es m.E. nicht.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
danke für die Info, so konnte ich meine Fehler eingrenzen und beseitigen.
Dass das Select in einem neuen Selectbereich ausgeführt wird und auf ein ALIAS einer offenen DBF zugreift ist nachvollziehbar, wenn auch etwas umständlich ... (ich will ja das Array of DataObjects aus dem aktuellen Bereich ...)
So hat das mit dem normalen Suchen funktioniert ... bei meiner zweiten Testdatei ...
Die große bringt immer internal Error, offensichtlich stößt da die interne Verwaltung an Grenzen ...
Mein SELECT mit Variablen bringt immer 0 Treffer, erst die Verwendung von PPO zeigt einen Weg ...
Ich denke ich werde noch etwas mit USqlStatement() experimentieren ...
Dass das Select in einem neuen Selectbereich ausgeführt wird und auf ein ALIAS einer offenen DBF zugreift ist nachvollziehbar, wenn auch etwas umständlich ... (ich will ja das Array of DataObjects aus dem aktuellen Bereich ...)
So hat das mit dem normalen Suchen funktioniert ... bei meiner zweiten Testdatei ...
Die große bringt immer internal Error, offensichtlich stößt da die interne Verwaltung an Grenzen ...
Mein SELECT mit Variablen bringt immer 0 Treffer, erst die Verwendung von PPO zeigt einen Weg ...
Code: Alles auswählen
SELECT * FROM DB WHERE dru_aktiv="X" INTO ARRAY aData // so geht es, aber ich will variabel suchen
// so sollte es auch gehen ... aber es tut es nicht: Kein Fehler aber 0 Treffer statt 1
cSuche := "X"
SELECT * FROM DB WHERE dru_aktiv=&(cSuche) INTO ARRAY aData // so nicht, 0 Treffer
SELECT * FROM DB WHERE ("dru_aktiv='"+cSuche+"'") INTO ARRAY aData // so auch nicht
// so geht es ...
USqlStatement():New():Select( {{ 1 }} ):From( {{"DB"}} ):Where( &("{|| dru_aktiv='"+cSuche+"'}") ):Limit( 20 ):Build():Query( 2, @aData )
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
so sieht übrigens die Auswahl von 2 Feldern aus:
warum die Felder jeweils in einem eigenen Array stehen ?
Code: Alles auswählen
:Select( {{"dru_aktiv"}, {"dru_name"}} )
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
das mit dem "nicht selektiert" kann nicht stimmen, ein Beispiel von Till:
das Beispiel funktioniert so ... nun suche ich nach einem Wort das in der DBF enthalten ist:
SELECT partno, partname, sellprice FROM parts WHERE partname = 'Icebear' INTO OBJECTs aObjs => 1 Treffer, richtig
SELECT partno, partname, sellprice FROM parts WHERE partname = 'icebear' INTO OBJECTs aObjs => KEIN Treffer, NUR mit genau gleicher Schreibweise wird gefunden ...
auf mit Teilbegriff kein Treffer ... für SQL sollte das doch so stimmen oder ?
SELECT partno, partname, sellprice FROM parts WHERE partname LIKE 'Ice%' INTO OBJECTs aObjs
In der Hilfe heist es lapidar:
Code: Alles auswählen
SET DEFAULT TO ...\Xbase++\source\samples\data\misc
USE parts
// Ermitteln der Menge als Array von DataObjekten
SELECT partno, partname, sellprice FROM parts WHERE sellprice < 200 INTO OBJECTs aObjs
SELECT partno, partname, sellprice FROM parts WHERE partname = 'Icebear' INTO OBJECTs aObjs => 1 Treffer, richtig
SELECT partno, partname, sellprice FROM parts WHERE partname = 'icebear' INTO OBJECTs aObjs => KEIN Treffer, NUR mit genau gleicher Schreibweise wird gefunden ...
auf mit Teilbegriff kein Treffer ... für SQL sollte das doch so stimmen oder ?
SELECT partno, partname, sellprice FROM parts WHERE partname LIKE 'Ice%' INTO OBJECTs aObjs
In der Hilfe heist es lapidar:
und was sind diese "operators" die in Alaska USQL gelten ?<FieldName1> is the name of a field in a table, <cFieldName2> is the name of a field in another table, and <comparison> is one of the comparison operators.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
das geht:
SELECT partno, partname, sellprice FROM parts WHERE lower(partname) = 'icebear' INTO OBJECTs aObjs // 1 Treffer, OK
SELECT partno, partname, sellprice FROM parts WHERE lower(partname) = "icebear" INTO OBJECTs aObjs // 1 Treffer, OK
also ist der Vergleich selbst noch Xbase Angelegenheit, somit sollte das doch einen Teilstring finden ...
SELECT partno, partname, sellprice FROM parts WHERE lower(partname) = "ice" INTO OBJECTs aObjs // Kein Treffer
SELECT partno, partname, sellprice FROM parts WHERE left(lower(partname),3) = "ice" INTO OBJECTs aObjs // Kein Treffer
ich sehe da nichts was mir das Leben LEICHTER macht
SELECT partno, partname, sellprice FROM parts WHERE lower(partname) = 'icebear' INTO OBJECTs aObjs // 1 Treffer, OK
SELECT partno, partname, sellprice FROM parts WHERE lower(partname) = "icebear" INTO OBJECTs aObjs // 1 Treffer, OK
also ist der Vergleich selbst noch Xbase Angelegenheit, somit sollte das doch einen Teilstring finden ...
SELECT partno, partname, sellprice FROM parts WHERE lower(partname) = "ice" INTO OBJECTs aObjs // Kein Treffer
SELECT partno, partname, sellprice FROM parts WHERE left(lower(partname),3) = "ice" INTO OBJECTs aObjs // Kein Treffer
ich sehe da nichts was mir das Leben LEICHTER macht
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16549
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
Versuch es mal mit like statt = - kann auch sein, dass du dann das Feld vor das like ziehen musst.
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15701
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
das habe ich in der Message davor schon probiert:
Ich habe mal JANs Anfrage nach Suche mit Variablen zugestimmt und um diese Frage erweitert ... es geht ja um das Gleiche ... wie sollen wir es nutzen.auf mit Teilbegriff kein Treffer ... für SQL sollte das doch so stimmen oder ?
SELECT partno, partname, sellprice FROM parts WHERE partname LIKE 'Ice%' INTO OBJECTs aObjs
Gruß
Hubert
Hubert
- Werner_Bayern
- Der Entwickler von "Deep Thought"
- Beiträge: 2126
- Registriert: Sa, 30. Jan 2010 22:58
- Wohnort: Niederbayern
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 75 Mal
Re: Xbase++ ALASKA SQL ... wie geht das mit SELECT auf DBF ?
So sollte es gehen:brandelh hat geschrieben:SELECT partno, partname, sellprice FROM parts WHERE partname LIKE 'Ice%' INTO OBJECTs aObjs
Code: Alles auswählen
SELECT partno, partname, sellprice FROM parts WHERE upper(partname) LIKE 'ICE%' INTO OBJECTs aObjs
es grüßt
Werner
<when the music is over, turn off the lights!>
Werner
<when the music is over, turn off the lights!>