首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

windows ce中的MFC是如何操作SQL SERVER CE (.sdf)

2012-06-29 
windows ce中的MFC是怎么操作SQL SERVER CE (.sdf)windows ce中的MFC是怎么操作SQL SERVER CE (.sdf)的?

windows ce中的MFC是怎么操作SQL SERVER CE (.sdf)
windows ce中的MFC是怎么操作SQL SERVER CE (.sdf)的? 网上找了半天也没有
那位高手指点下

[解决办法]
用C的就行啊。SQL的根目录有一个头文件,你打开就知道了。

C/C++ code
/*************************************************************************SQLTESTC - SQL Data Server sample program for console-based Windows NT.         Copyright (c), 1995 by Microsoft Corp.*************************************************************************/#define    DBNTWIN32        // must identify operating system environment#include "windows.h"#include <sqlfront.h>#include <sqldb.h>       // DB-LIB header file (should always be included)#include <stdio.h>main (){    PDBPROCESS dbproc;  // allocate    a DB-LIB process structure    PLOGINREC  login;   // allocate    a DB-LIB login structure    // Variables used to store the returning data    char       au_lname[41];    char       au_fname[20];    char       id[12];    char       phone[13];    char       address[41];    char       city[21];    char       state[3];    char       zip[6];    char       getname[41];    char       Servername[25];    RETCODE    result_code;    // Forward declarations of the error handler and message handler.    int err_handler(PDBPROCESS, int, int, int, char*, char*);    int msg_handler(PDBPROCESS, DBINT, int, int, char*);    if (dbinit() == (char *)NULL)    {        printf("Communications layer not loaded\n");        return(1);    }        // Install the user-supplied error-handling    and message-handling    // routines. They are defined at the bottom    of this    source file.        dberrhandle((DBERRHANDLE_PROC)err_handler);    dbmsghandle((DBMSGHANDLE_PROC)msg_handler);    // Get server's computer name    Servername[0] = '\0';    printf ("\nEnter Name of SQL Server: ");    gets (Servername);    login = dblogin();                     // get login record from DB-LIB    DBSETLUSER (login, (char *)"sa");      // set the username    DBSETLAPP (login, (char *)"sqltestp"); // set the application name    DBSETLPWD (login, (char *)"");         // set the SQL Server password    DBSETLVERSION(login,DBVER60);    // Now attempt to create and initialize a DBPROCESS structure    if ((dbproc    = dbopen (login, Servername)) == NULL)    {        printf ("dbopen failed\n");        return (1); // exit program    }    dbuse (dbproc, "pubs"); // use the "pubs" database    while (TRUE)    {        printf ("\nEnter author's last name to retrieve (return to exit): ");        gets (getname);        if (getname[0] == '\0') // if only a return was entered            break;        // construct command buffer to be sent to the SQL server        dbcmd (dbproc, (char *)"select au_id, au_lname, au_fname, phone,");        dbcmd (dbproc, (char *)" address, city, state, zip");        dbcmd (dbproc, (char *)" from authors");        dbcmd (dbproc,    (char *)" where au_lname = '");        dbcmd (dbproc, (char *)getname);        dbcmd (dbproc, (char *)"'");        dbsqlexec (dbproc); // send command buffer to SQL server        // now check the results from the SQL server        while ((result_code = dbresults(dbproc)) != NO_MORE_RESULTS)        {            if (result_code == SUCCEED)            {                dbbind (dbproc,    1, NTBSTRINGBIND, (DBINT) 0, (char *)id);                dbbind (dbproc,    2, NTBSTRINGBIND, (DBINT) 0, (char *)au_lname);                dbbind (dbproc,    3, NTBSTRINGBIND, (DBINT) 0, (char *)au_fname);                dbbind (dbproc,    4, NTBSTRINGBIND, (DBINT) 0, (char *)phone);                dbbind (dbproc,    5, NTBSTRINGBIND, (DBINT) 0, (char *)address);                dbbind (dbproc,    6, NTBSTRINGBIND, (DBINT) 0, (char *)city);                dbbind (dbproc,    7, NTBSTRINGBIND, (DBINT) 0, (char *)state);                dbbind (dbproc,    8, NTBSTRINGBIND, (DBINT) 0, (char *)zip);                // now process the rows                while (dbnextrow(dbproc) != NO_MORE_ROWS)                {                    printf ("Author ID:  %s\n",    id);                    printf ("Last Name:  %s\n",    au_lname);                    printf ("First Name: %s\n",    au_fname);                    printf ("Address:    %s\n",    address);                    printf ("City:       %s\n",    city);                    printf ("State:      %s\n",    state);                    printf ("Zip Code:   %s\n",    zip);                    printf ("Telephone:  %s\n",    phone);                    printf ("\n");                }            }            else            {                printf ("Results Failed\n");                break;            }        }    } // while (TRUE)    // Close the connection and exit    dbexit();}int err_handler(PDBPROCESS dbproc, int severity, int dberr, int oserr, char * dberrstr, char * oserrstr){    if (dberrstr != NULL)        printf("DB-LIBRARY error:\n\t%s\n", dberrstr);    if (oserr != DBNOERR)        printf("Operating-system error:\n\t%s\n", oserrstr);    if ((dbproc == NULL) ||    (DBDEAD(dbproc)))        return(INT_EXIT);    else        return(INT_CANCEL);}int msg_handler(PDBPROCESS dbproc, DBINT msgno, int msgstate, int severity, char * msgtext){    printf("SQL Server message %ld, state %d, severity %d:\n\t%s\n",            msgno, msgstate, severity, msgtext);    return(0);} 


[解决办法]
通过oledb或者第三方的类

热点排行