资源描述:
《C语言连接数据库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1、SQLIIDBChdbc:代表一个数据库连接句柄。和Socket里边的Socket连接类似,要访问数据库,先要连接到数据库。SQLHDBC:SQL、H句柄、DB(DataBase)、C(Connection)2、SQLHSTMThstmt:代表一个SQL语句。STMT(Statement,语句)3、SQLRETURN:执行结果。4、ODBC中字符串用SQLCIIAR,SQLCIIAR其实就是char的别名。SQLCHARConnStrIn[MAXBUFLEN]和charConnStrIn[MAXBUFLEN]一样。5、ConnS
2、trln:连接字符串,你要连接到的数据库的张动、ip地址、用户名密码、数据库名(Catalog)等等都在连接字符串里描述。DRIVER:使用的驱动名;SERVER:ip地址;U1D:用户名(UserID);PWD(Password):密码。DataBase:数据库名,Catalog。6、SQLDriverConnect:创建到数据库的连接,使用ConnStrln连接。result表示执行结果。如杲失败了SQL_ERROR==rcsu11oShowDBConnError(hwnd,hdbc);来显示“连接错误”。7、result=SQ
3、LPrepare(hstmt,(SQLCHAR*),zinsertintoT_Person(FAge,FName)values(20,'kider,)“,SQLNTS)。创建SQL语句的句柄。result=SQLExecute(hstmt);:执行SQL语句。SQLFrccStmt(hstmt,SQL_CLOSE);:释放SQL语句SQLDisconnect(hdbc);:断开数据库连接。#includcz,stdafx・h〃Bindude#include〈windowsx.h>//必须加入以下三个头文件即数据
4、库的头文件#include#includc#include#ineluderesource.h〃#includez,MainDlg.h〃^defineLOG1N_T1MEOUT30^defineMAXBUFLEN255//宏定义不可少#defineCHECKDBSTMTERROR(hwnd,result,hstmt)if(SQL_ERROR==result){ShowDBStmtError(hwnd,hstmt);return;}//函殴声明voidDBTest(HWNDhw
5、nd);//主调函数BOOLWINAPIMain.Proc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAM1Param){switch(uMsg){HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);IIANDLEJISG(hWnd,WM_COMMAND,Main_0nCommand);HANDLEJ1SG(hWnd,WM_CL0SE,Main_0nClose);}returnFALSE;}//初始化对话框BOOLMain_0nInitDialog(HWNDh
6、wnd,HWNDhwndFocus,LPARAM1Param){"returnTRUE;}//命令响应函数voidMain_0nCommand(HWNDhwnd,intid,HWNDhwndCtl,UINTcodeNotify){"switch(id){caseIDC_OK:DBTest(hwnd);break;default:break;//关闭对话框窗口函数voidMain_OnClose(HWNDhwnd){"EndDialog(hwnd,0);}voidShowDBError(HOThwnd,SQLSMALLINTtype,
7、SQLIIANDLEsqlllandlc){charpStatus[10],pMsg[101];SQLSMALLINTSQLmsglen;charerror[200]={0};SQLINTEGERSQLcrr;longerg2=SQLGetDiagRec(type,sqlHandle,1,(SQLCHAR*)pStatus,&SQLerr,(SQLCHAR*)pMsg,100,&SQLmsglen);wsprintf(error,〃%s(%d)",pMsg,(int)SQLerr);McssageBox(hwnd,error,T
8、EXT(〃数据库执行错误〃),MB_ICONERROR
9、MB_0K);}//连接数据库错误的信息voidShowDBConnError(HW^NDhwnd,SQLHDBChdbc){ShowDBError(hwnd,SQL_IIAND