tweenki schrieb:
also ich würde mich dann für SQLite entscheiden. was brauche ich dafür um eine Datenbank mit C++ zu erstellen und auf die ich dann auch mit dem Programm zugreifen kann?
--> http://www.sqlite.org/c3ref/intro.html
Hallo,
auch nach dreimaligen lesen deines Postings, kann ich keine Frage oder sowas erkennen. 4GL sagt mir nichts. Einen Sharepoint bzw. die damit verbundene Windows Server Technologie, würde ich definieren als die vertikale und horizontale Integration von aller Backendanwendungen von Microsoft mit Schnittstellen zu Fremdprodukten.
Sharepoint ist, bzw. wird das fürs Backend werden, was MS Office für den Desktop ist. Leider versteht man das nicht, wenn man nur davon hört oder eben das Marketingblabla anhören muss. Ich empfehle Wikipedia, besonders auch zu der MS Server Technologie.
Bei weiteren Details kann ich versuchen dir Klarheit zu verschaffen.
Edit:
Klicki-Klicki hört sich an wie MS Infopath, oder stellst du gehobenere Anforderungen an die Eingabe?
Du vergleichst die id, die NULL ist mit NULL, aber: NULL != NULL
Also kommt immer yes raus.
Im SQL Server gibts ne Funktion IsNull(..) vielleicht gibts sowas bei deiner DB auch.
Du mußt noch mittels "-l..." (kleines L) den Namen der Postgres-Library angeben. Ich glaube einfach "-lpqxx".
Das sind übrigens Linker-Fehler, d.h. deine C++ Dateien sind generell in Ordnung.
Im Normalfall haben RDBMS eine Funktion welche Datum so ausgeben kann wie man es braucht.
Ob SQLLITE sowas hat weiß ich nicht. Musst Du in der Doku schauen.
War das jetzt ne Frage?
Ich glaube das ist von der Datenbank abhängig und bei Access würde ich nicht zu viel erwarten. Du brauchst dafür ein Recordset vom Typ Dynamic (adOpenDynamic). Der bekommt alles mit, ausser das Anhängen neuer Datensätze. Zusätzlich kannst du Änderungen eines Datensatzes mit der Refresh Funktion des Recordsets sichtbar machen.
ja gut das weis ich CSToll, aber wie bekomme ich den name der tabelle dahin?
Hm stimmt, wenn ich den SQL string dynamisch aufbau ist das ja kein thema..
stand wohl bischen aufm schlauch:)
danke jungs
JayJay1 schrieb:
Kleine Frage, gibt es dazu ein paar gute Tuts, wie ich die Performace steigern kann?
Außer allgemeinen Hinweise kann ich da nicht sonderlich weiterhelfen. Dafür gibt's DB Admins.;)
Hallo,
ich spiele grad bischen mit datenbanke rum (ANSI C/ ADO) durch vieles probieren etc. ist es nun soweit dgekommen, das die datenbank nicht mehr richtig geschlossen wird d.h. es ist eine ldb und eine mdb Datei vorhanden. Wenn ich die Datenbank öffnen und wieder schliese, wird das problem gelöst. Wie kann ich die datenbank aufforden die änderungen zu übernehmen und die daten bank nachträglich zu schliesen?
Vielen Dank, das werde ich gleich heute mal versuchen.
Hoffentlich hilft es und die Datenbanken haben nicht wegen was anderem nen Hieb weg.
Oder kann es sein, dass man die mdf und ldf Dateien nicht mit arj packen darf?
Hallo,
ich habe eine Oracle - DB. Eine Spalte ist vom Typ Date. Nun möchte ich nur die Zeit ändern / einfügen aber das Datum unverändert lassen bzw. das Datum, aber die Zeit unverändert lassen. Gibt es dazu einen speziellen Befehl??
Hast du's mal so probiert (funktioniert so zumindest bei meiner DB):
COMMENT ON TABLE Tablename is 'Kommentar für die Tabelle'
Und dafür beim CREATE TABLE das COMMENT weglassen.
Für die Spalten dann analog:
COMMENT ON COLUMN Table.Column is 'Kommentar'
Ich schätze mal es liegt am OpenDynamic. Das wird von vielen Treibern/Datenbanken nicht oder nur halb unterstützt. Guck mal was passiert, wenn du OpenKeyset verwendest.
Die Frage mag einfach sein, die Realisierung ist aber etwas schwieriger.
Zum einen kannst du mittels "SELECT DISTINCT(spalte) FROM tabelle" alle doppelten Einträge eliminieren. Da du aber zwei Spalten hast, mußt du schauen, ob deine Datenbank dies unterstützt:
Entweder "SELECT DISTINCT(spalte1, spalte2) FROM tabelle" oder "SELECT DISTINCT(spalte1), DISTINCT(spalte2) FROM tabelle". (Bin mir sicher, welche nun Standard ist).
Das zweite Problem ist das akt. Datum (d.h. das ältere):
du könntest dafür die Gruppierung mit der Funktion max() benutzen:
"SELECT vorname, name, max(datum) FROM tabelle GROUP BY vorname, name".
Evtl. reicht dies jetzt schon aus, ansonsten müßtest du eine Subquery verwenden, welche beide Selects miteinander verbindet:
"SELECT * FROM tabelle WHERE spalte = SELECT spalte FROM tabelle ..."
Auch hier mußt du die SQL-Hilfe zu deiner Datenbank wegen der Schreibweise befragen.
Probieren geht über Studieren...
Danke für die Antwort, aber die hilft mir nicht wirklich weiter.
Im letzten Beispiel verwende ich ja schon ein Variant-Array und mit VarArrayCreate() passiert nichts anderes, nur etwas umständlicher:
int Bounds[2] = {0,1};
Variant VarArray = VarArrayCreate(Bounds,1,varOleStr);
VarArray.PutElement("Beispiel1",0);
VarArray.PutElement("Beispiel2",1);
AC1->CommandText = "select * from NamesTable where name in (:names)";
AC1->Parameters->ParamByName("names")->Value = VarArray;
AD1->Recordset = AC1->Execute();
Und ob das nun ein Unicode- oder AnsiString ist, sollte für diese Anwendung völlig egal sein, zumal Variant am ende sowieso das draus macht, was gebraucht wird. Fehlermeldung bleibt jedenfalls die gleiche.