PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Delphi / C++ Builder SQL


Messiah_of_Death
01.05.2002, 18:20
Hallo !

ich könnte :mauer: !
Ich krieg dieses dämliche Case-Sensitive nicht weg !!!

folgender Befehl:

SELECT * FROM <TABELLE> WHERE ( <Spalte> LIKE &acute;%ab%&acute;)


PROBLEM:

er findet wirklich _nur_ Sachen die ab in Kleinschrift beinhalten .. nicht aber Ab oder aB oder AB :( :mauer: :mauer:

ich dachte ich wär schon zu blöd für diese Welt.. probier also den Befehl in mySQL ..und da findet er alle 4 Typen ..?! 8o


weis jemand rat ?!?

DANKE


Felix Kaiser
12.05.2002, 19:51
Welche Komponenten? Welche API? Welcher DB-Typ?

Ohne diese Informationen kann man leider wenig sagen, da &acute;serverlose&acute; Datenbanken mit SQL teilweise perverse Probleme im ANSI SQL Syntax haben ... Anderes aber wunderbar funktioniert.

sami
12.05.2002, 20:18
jo also mit dem builder hat das imho wenig zu tun, muss an der db liegen. benutzt du denn da auch die mysql?

Messiah_of_Death
12.05.2002, 20:36
BDE + Paradox - Tabelle

wenn ich wüsste wie ich mySQL mit Delphi oder C++ BUilder ansprechen kann wäre ich Mega Happy !!!

Felix Kaiser
12.05.2002, 21:13
Dafür gibts die LIBMYSQL. Und wenn du mal richtig schaust gibt es auch die Möglichkeit das mit TDataBase und TTable zu koppeln. Schau dir mal die Eigenschaften für Datenbanktreiber an. Aber mit der aktuellen LIBMYSQL.DLL gibts Zugriffsverletzungen. Den einzigen Zugriff den ich bisher bekommen hab, war über ein Sample, was ich bei www.MySQL.org gefunden hab, ein MySQL Beispielprojekt für Delphi mit einer älteren Version der LIBMYSQL.DLL. Das funktioniert wunderbar, lässt sich nur leider nicht mit TDataBase oder TTable Komponenten verknüpfen. Musst entscheiden: Entweder wie bei PHP, dann such das Beispiel bei MySQL.org (findest du sehr schnell im DL Bereich!) oder du versuchst dich an bestehenden Komponenten und verzichtest auf SQL Syntax.

Und sami: Das liegt sehr wohl am Builder / Delphi, da hier im Fall eine Paradox Tabelle durch Borlandeigene Routinen komplett verwaltet wird. Und deren SQL Parser ist voll von Bugs.

Messiah_of_Death
13.05.2002, 00:45
oki !

DANKE... ich werd&acute;s mal irgendwie versuchen ...

hehe das Lamm is cool !!

sami
13.05.2002, 22:23
was für nen feldtyp hast denn da?
etwa nen BLOB? weil der wär case sensitive

Messiah_of_Death
13.05.2002, 23:24
nee ganz normal Alphanumerisch (Typ: A)

Felix Kaiser
14.05.2002, 00:14
Jo und das mein ich, die Borlandeigenen SQL Parser sind Bullshit reinster Art. Am besten bleibt halt alles über externe Server machen wenns denn SQL sein muss oder auf SQL verzichten und alles direkt selber machen, was fast immer schneller ist, da bei SQL immerhin noch alles durchgeparst und Syntax geprüft werden muss ...

sami
14.05.2002, 01:10
öhm mySQL kennt kein A
das kennt CHAR oder VARCHAR z.b.

Messiah_of_Death
14.05.2002, 10:19
sami ich dachte du meinst meine Paradox Tabelle..


ja also in mySQL wäre der alphanumerische Typ -> varchar(x)...

von Guru:

.--
[..] muss oder auf SQL verzichten und alles direkt selber machen[..]
--.

wie meinst du das ?!

sami
14.05.2002, 11:33
ups jo, hab ungenau gelesen.
in deinem 1. post sahs so aus, als ob du ne mySQL verwendest.

Felix Kaiser
14.05.2002, 16:09
Ich meine halt ganz einfach, dass Borland unt SQL eines der fehleranfälligsten Paare ist was es gibt. Und mit direkt selber machen meine ich, dass du über eigene bzw. vordefinierte Routinen direkt auf die Tabellen zugreifst und mit denen arbeitest. Ist sicherer, zuverlässiger und etwas schneller als über SQL.

Dominic Suter
14.05.2002, 21:22
Wegen der Schnittstelle:

Mein Klassenkamerad hat in seinem Software-Projekt eben MySQL mittels C++ angesprochen. Er hat dafuer MyODBC als Schnittstelle verwendet, soweit ich weis. Er fand eine simple Erklaehrung (eher ein Tut) im Internet, das verinfacht den Einsatz erklaehrte.
Falls noch Bedarf besteht, kann ich Ihn ja einmal fragen, wo er dieses Tut gefunden hat. Dann werde ich die URL hier einmal posten.

Felix Kaiser
14.05.2002, 21:27
Mach mal, täte mich mal interessieren in wie weit das kompatibel ist als Schnittstelle zu den Borland Datenbankkomponenten (Grids etc.). Weil deren Kompatiblität ist der Knackpunkt X(