windows ce中的MFC是怎么操作SQL SERVER CE (.sdf)
windows ce中的MFC是怎么操作SQL SERVER CE (.sdf)的? 网上找了半天也没有
那位高手指点下
[解决办法]
用C的就行啊。SQL的根目录有一个头文件,你打开就知道了。
/*************************************************************************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或者第三方的类