zugriff auf eine datenbank [db2] per SQL
-
womit realisiere ich dies am besten?
zu ODBC Access etc. hab ich ja vieles gefunden, aber für reines SQL unter C++ bzw unter MFC nix.hab mal in google befehle gefunden wie:
sqlastrt sqlacall sqlastop etc.
nur keine Erklärungen bzw wie diese zu benutzen sind
-
Zwischen Datenbank (DB) und SQL muss noch was dazwischen und zwar etwas was die conection herstellt.
z.b ODBC, ADO, Ole DB bei der MFC
-
Zu ODBC
[cpp]
CDatabase db;
try
{
BOOL erg;
erg = db.Open("ODBC;DSN=deine DB ");
}catch (CDBException)
{
MessageBox("Kein Connect möglich");
}CString update_sql;
update_sql = "Update ......";db.ExecuteSQL(update_sql);
db.ExecuteSQL("commit");[/cpp]hoffe es hilft dir weiter
[ Dieser Beitrag wurde am 17.01.2003 um 12:51 Uhr von goochie editiert. ]
[ Dieser Beitrag wurde am 17.01.2003 um 12:51 Uhr von goochie editiert. ]
-
dank dir, ich teste gleich mal!
sachmal was für Header Dateien brauch ich denn dafür???
-
Hi,
#include <afxdb.h>
P.S. Das auslesen der DB geht am einfachsten mit Set - Klassen -> siehe FAQ
-
Benutze einfach zusätzlich noch eine
CRecordSet Klasse, die dann mit dem Assi mit einer Tabelle deiner Datenbank verbunden wird.
Dann
CDBDeineKlasse testdb(&db); //< hier wird deine CDatabase-Variable als Pointer übergeben...
testdb.m_strFilter="where Klausel...";
testdb.Open(); //öffne DB mit StandardSQL-String und eben formulierte Whereklausel...
testdb.MoveNext(); // zum nächsten Datensatz springen
testdb.m_irgendeinespalte="test";testdb.Close();
-
Frage:
wenn ich mir ne SDI Anwendung erstellen Lasse, mit Datenbank Anbindung, dann klappt das nicht da ich keine aussuchen kann bzw, die die ich habe im Netzwerk liegt? (ODBC)
-
naja das hab ich wohl behoben hab hier an meinem NT Rechner die ODBC Datenquelle geadded, wie sieht das aus wenn das Programm dann auf nem anderen Rechner läuft hier im Netzwerk?!??!
-
hallo goore,
ich habe auch so ein Problem. Du mußt mit Deinem Programm prüfen ob die Datenquelle schon geaddet ist und wenn nicht mußt du sie adden bei den ODBC Datenquellen. Schau mal hier [url]http://www.c-plusplus.net/ubb/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=18&t=000036 [/url]