Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Datenbankzugriff mit C++

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.09.2003, 16:08 Uhr
~Surfman
Gast


Hi! ich möchte mit C++ auf eine mdb (access) datenbank zugreifen!! möchte da was abspeichern und wieder auslesen! könnt ihr mir helfen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.09.2003, 17:26 Uhr
virtual
Sexiest Bit alive
(Operator)



--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.09.2003, 17:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Siehe das EBook Visual C++ in 21 Tagen unter Ebooks. Kapitel 14 ist das was du benötigst: www.mut.com/media/buecher/VCPLUS6/data/kap14.htm
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.09.2003, 21:35 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Flo,
ich denke Er meint das z.B. so:

C++:
#include "stdio.h"
#include "stdlib.h"
#include "windows.h"
#include <sql.h>
#include <sqlext.h>

#pragma comment (lib,"odbc32.lib")
char * connection_string = "DBQ=db1.mdb;DRIVER={Microsoft Access Driver (*.mdb)};";
char * sql_statement = "select * from Namen where Name = 'Meyer'";

int main(int argc, char* argv[])
{
    SQLHANDLE env,stat,conn;
    SQLRETURN retval;
    


    char * full_connection_string = (char *)malloc(1024);
    unsigned char * sz_colhere = (unsigned char *)GlobalLock(GlobalAlloc(GMEM_ZEROINIT,0xFF));
    SQLINTEGER sz_colhere_size;

    SQLSMALLINT full_connection_string_size;

     retval =SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&env);
    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO) )
        return 1;


    retval =SQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,NULL);
    
    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO))
        return 2;

    retval = SQLAllocHandle(SQL_HANDLE_DBC,env,&conn);
    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO) )
        return 3;
  
    retval = SQLDriverConnect(conn,
                            NULL,
                            (unsigned char*)connection_string,
                            strlen(connection_string),
                            (unsigned char *)full_connection_string,
                            1024,
                            &full_connection_string_size,
                            SQL_DRIVER_COMPLETE
                            );

    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO) )
        return 4;


    retval = SQLAllocHandle(SQL_HANDLE_STMT,conn,&stat);
    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO) )
        return 5;



    printf("Connection String %s:\n\n",full_connection_string);

    retval=SQLExecDirect(stat,
                 (unsigned char *) sql_statement,
                  strlen(sql_statement)
                  );

    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO) )
        return 6;


    retval = SQLBindCol(stat,
                        1,
                        SQL_C_CHAR,
                        sz_colhere,
                        0xFF,
                        &sz_colhere_size
                        );


    if((retval != SQL_SUCCESS) && (retval != SQL_SUCCESS_WITH_INFO) )
        return 7;


    while(SQLFetch(stat) != SQL_NO_DATA)
    {
        printf("value: %s\n",sz_colhere);
    }

    SQLDisconnect(conn);
    SQLFreeHandle(SQL_HANDLE_ENV,env);
    SQLFreeHandle(SQL_HANDLE_DBC,conn);
    getchar();
    return 0;
}


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.09.2003, 10:39 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


@Uwe: ich war halt wiedermal auf MFC
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.09.2003, 22:11 Uhr
~Surfman
Gast


hi! versteht das der borlandc compiler???? ich kanns jetzt net austesten weil u arbeitn muss! meine mail: surfman19@gmx.at
lg surf.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.09.2003, 23:08 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
denke schon, wenn Du den Pfad zur odbc32.lib exlizit angibst, und die Db wie im Quellcode beschrieben angelegt ist.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.09.2003, 02:16 Uhr
~Surfman
Gast


Ok, ich werds mal ausprobieren wenn i daheim bin.......wie kann ich einen neuen datensatz anlegen und alle datensätze von der datenbank auslesen???? mfg surf.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.09.2003, 02:21 Uhr
~Surfman
Gast


ich bin mit sql nicht so geläufig......was könntest du kommentare dazu machn beim sourcecode was da passiert!? was is mit dem da:
char * sql_statement = "select * from Namen where Name = 'Meyer'";
ich möcht einfach einen neuen datensatz: Spalte1: Name; Spalte2: Kommentar in die datenbank schreiben......
und am schluss alle datensätze wieder auslesen....
mfg surf.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.09.2003, 14:34 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
im Forenhaeder ist ein Link zu E-Books. Dort findest Du u.a. "SQL i. 21 T.". Ohne Grundkenntnisse in der DB-Programmierung solltest Du nicht weit kommen. Das ist dann die "Versuch Irrtum" Methode.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: