怎么通过ODBC使用wxWidgets连接Access数据库

来源:互联网 发布:淘宝5年老店怎么弄 编辑:程序博客网 时间:2024/06/10 17:27

怎么通过ODBC使用wxWidgets连接Access数据库

1、wxWidgets库中ODBC的编译

默认编译时,ODBC库中的没有导出,致使调用wxDbConnectInf,wxDbTable等类函数是时出现链接错误的问题,故首先要编译ODBC库为导出 类库,这需要在"Include"目录下的"Setup.h"中对#define wxUSE_ODBC 0设置为1,重新编译即可.

2、数据库的链接与数据的读取

//启动和配置数据库环境

wxDbConnectInf *ConnectConfig = new wxDbConnectInf(NULL, wxT("DB1"), wxT(""), wxT("")); //(DB1就是ODBC数据源) //链接数据库

wxDb *theConnect = wxDbGetConnection(ConnectConfig);

//表的打开

wxDbTable *tbl = new wxDbTable(theConnect,wxT("S1"),2,wxT(""), !wxDB_QUERY_ONLY, wxT("")); //(S1就是DB1中的表名)

//数据和变量绑定(ID,theName是表中的字段, theID,theName就是捆绑数据)

 tbl->SetColDefs(0, wxT("ID"), DB_DATA_TYPE_INTEGER, &theID, SQL_C_LONG, sizeof(theID), false, true);

tbl->SetColDefs(1, wxT("theName"), DB_DATA_TYPE_VARCHAR, theName, SQL_C_WXCHAR, sizeof(theName), false, true);

 //判断是否正确打开表

if (!tbl->Open()) {

    //判断是否正确打开表

    wxMessageBox("error1");

     return;

}

//判断是否正确获取表数据

if (!tbl->GetDb())

{

 //判断是否正确获取表数据

wxMessageBox("error2");

 return;

}

 //查询数据

tbl ->Query();

wxString wxx;

while (tbl ->GetNext())

{

strcat(theName,"/n");

wxx += theName;

}

3、后续处理(略)

原创粉丝点击