Query bei einer Datenbank
-
Hi all,
ein Neuling hat Probleme mit Borland und Datenbanken (Leider ist C++ nicht Php
)
Ich habe mit der Datenbankoberfläche mir eine db zusammengebastelt, das hat auch soweit ganz gut funktioniert.. ich kann sie auch über eine Form füllen und mir Datensätze anzeigen lassen.
Nun würde ich gerne eine Datenbanksuche mit Hilfe von SQL realisieren.
Sprich ich trage etwas in ein Editfeld ein.. und nach diesem String wird dann in der DB gesucht und es werden entsprechende Datensätze angezeigt.Nun komm ich damit aber nicht klar.. ich habe mit schon das Forum / die Tuts (sowie das Mamut von der FH) durchgeschaut aber komme einfach nicht dahinter.
Einmal wird von Filtern gesprochen und mal von SQL.
Ich habe nun mal folgendes gemacht..
1. Über BDE eine Query eingefügt
2. Diese über DataSource mit der DB verknüpft
3. auf Activ gsetzt
4. unter SQL eine allgemeine Abfrage reingeschrieben ( Select * From XXXXSo aber nun wie kann ich "Antwort" der SQL Abfrage ausgeben lassen? Wenn möglich in variablen packen?
Danke, für jeden Tipp!!
-
Siehe FAQ unter "Datenbank".
-
soxin schrieb:
Nun komm ich damit aber nicht klar.. ich habe mir schon das Forum / die Tuts (sowie das Mamut von der FH) durchgeschaut aber komme einfach nicht dahinter.
Wie gesagt... hab ich schon.. auch die FAQ, aber leider nichts passendes gefunden.
Gibt es nicht irgendwo ein Beispielcode mit Db und Form wo man sich das einfach mal abschauen kann.
Thx :p
Und Frohe Ostern
-
soxin schrieb:
auch die FAQ, aber leider nichts passendes gefunden
Welchen Teil von "Ergebnisse von SELECT verarbeiten" verstehst du denn nicht?
-
So hab das nun hinbekommen -im groben- so wie ich es möchte (Dank der Faqs, welche ich zuvor nicht richtig kapiert hatte) ...
Nun hab ich eine lauffähige exe erstellt und wollte sie an einem anderen Rechner testen.. aber:
Bei der Initialisierung der Borland Database Engine ist ein Fehler aufgetreten ($2008)
Nun hab ich schon gegoogelt und in anderen Foren gelesen das man die BDE via InstallShield mit in das Setup reinpacken kann und das es dann funktioniert.. ABER:
Auf den Zielrechnern habe ich nicht die Adminrechte um neue Anwendungen zu installieren. Wie kann ich das umgehen?
Ich dachte wenn in der Systemsteuerung unter Verwaltung->ODBC die Datenbankerweiterung .db aufgeführt wird, muss ich nichts extra installieren?
Wie kann ich das mit der BDE installation umgehen?
Danke
-
Wie kann ich das mit der BDE installation umgehen?
Nicht die BDE verwenden und sowas wie Zeos oder MySQLDac nehmen.
-
BDEHasser schrieb:
Wie kann ich das mit der BDE installation umgehen?
Nicht die BDE verwenden und sowas wie Zeos oder MySQLDac nehmen.
Diese muss ich aber auch installieren oder?
Was spricht gegen BDE?
-
Diese muss ich aber auch installieren oder?
Diese Komponenten musst du nur auf deiner Entwicklungsumgebung, sprich deinem Builder installieren.
Was spricht gegen BDE?
Standardantwort:
Die BDE ist veraltet und wird nicht mehr von Borland weiterentwickelt.Die BDE muss auf dem System auf dem deine Applikation läuft installiert werden.
-
Allerdings irgendein DBMS musst du sowieso installieren.Ob es nun MySQL, Firebird oder auch Access ist...
-
soxin schrieb:
So hab das nun hinbekommen [...]
Nun hab ich eine lauffähige exe erstellt und wollte sie an einem anderen Rechner testen.. aber:In Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema. Danke!
-
Jansen schrieb:
soxin schrieb:
So hab das nun hinbekommen [...]
Nun hab ich eine lauffähige exe erstellt und wollte sie an einem anderen Rechner testen.. aber:In Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema. Danke!
Ok beim nächsten Mal!! Sorry.
Gibt es nichts was bei Xp schon mit installiert wird? Wie kann ich das mit einer zusätzlichen installation umgehen? Access ist übrigens nicht bei den Rechnern drauf... Excel schon..
Besteht evt. dann die Möglichkeit das über eine csv zu machen?
Thx
-
Wenn du von den Clients übers Netzwerk auf deinen Rechner zugreifen kannst und nur eine zentrale Datenbank notwendig ist, so kannst du z.B. mit ADO übers Netzwerk zu deiner Datenbank connecten.
-
Leider auch nicht möglich.
-
soxin schrieb:
Leider auch nicht möglich.
Dann musst du es ohne Datenbank mit Textdateien (CSV) machen.
-
Kann ich eine CSV genau so abfragen wie eine Datenbank? Wie geht das einbinden einer CSV? Hat mir jemand eine kurze Anleitung?
THX
-
Kann ich eine CSV genau so abfragen wie eine Datenbank?
Nein, eine CSV ist eine normale Textdatei.Die Daten werden durch ein Trennzeichen (Seperator) getrennt.
Kannst ja mal mit Excel ein Arbeitsblatt als CSV Datei abspeichern, und dir diese mit dem Notepad anschauen.
Um sowas auszulesen kannst du eine TStringList verwenden.
Nur "Abfragen" zwischen verschiedenen "Tabellen" (Dateien) musst du dann selber programmieren.Ist je nachdem was du brauchst ziemlich aufwendig.
-
Beispiel:
TStringList *list=new TStringList(); list->LoadFromFile(filename); list->Delimiter =';'; list->DelimitedText = list->Text; Label1->Caption = list->Strings[0]; delete list;
-
Super Danke.. werde gleich mal schauen was sich daraus machen läßt!
-
du kannst auch mit den ADO-Komponenten direkt auf Excel-Dateien zugreifen, dabei ist jedes Excel-Tabellenblatt eine Tabelle, in der 1. Zeile des Tabellenblattes steht der Tabellenkopf, und der Tabellename ist der Name des Tabellenblattes. Beschränkungen gibt es hier bezüglich der Reihen (max. 65536) und Spalten (max 255).
Bsp:
ADOConnection1->ConnectionString = "Provider=MSDASQL;Persist Security \ Info=False;Data Source=Excel-Dateien;Initial Catalog=C:\\Test.xls"; ADOConnection1->LoginPrompt = false; ADOConnection1->Open(); ADODataSet1->Connection = ADOConnection1; ADODataSet1->CommandText = "[Tabelle1$]"; ADODataSet1->CommandType = cmdTable; ADODataSet1->Open(); ...
Im Beispiel heisst das Tabellenblatt Tabelle1. Die eckigen Klammern und das $-Zeichen sind beim Zugriff wichtig.
-
Hallo Linnea, wie geht es dann weiter?
ich habe mir nun eine Tabelle so wie du geschrieben hast angelegt..
Habe die Connection wie oben genannt erstellt.. aber wie frag ich da jetzt was ab und kann es dann ausgeben? Danke