ch2:用wxODBC写的一个简单的电话本程序

wxODBC数据库编程需要几步:

(1)配置连接信息

[Access 2003]
wxString info = wxT("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=filename.mdb");
[SQL Server 2000]
wxString info = wxT("Driver={SQL Server};Server=IP;Database=filename;Uid=sa;Pwd=sa;");

看上去和asp里面差不多。

 

(2)连接数据库

wxDbConnectInf dbi;
dbi.SetConnectionStr(info);
dbi.AllocHenv();
wxDb* db = new wxDb(dbi.GetHenv());    
if (!db->Open(&dbi))//判断是否获得连接
{
         wxMessageBox(wxT("不能连接数据库!"));
}

(3)创建表对象

wxChar FirstName[50+1]; //table的数据成员,用来绑定数据库表中字段
wxChar LastName[50+1];
wxDbTable* table = new wxDbTable(db, wxT("tablename"),2,wxT(""), !wxDB_QUERY_ONLY, wxT(""));//创建表对象


table->SetColDefs(0, wxT("FIRST_NAME"), DB_DATA_TYPE_VARCHAR, FirstName,
        SQL_C_WXCHAR, sizeof(FirstName), true, true);//绑定操作
table->SetColDefs(1, wxT("LAST_NAME"), DB_DATA_TYPE_VARCHAR, LastName,
        SQL_C_WXCHAR, sizeof(LastName), true, true);
table->CreateTable();

这里主要是创建表对象,并且将表的字段和变量绑定。

 

(4)进行表操作:打开,查询,删除,插入……

打开表:

if (!table->Open())
{
 wxMessageBox(wxT("TABLE OPEN ERROR: "));
}

删除表:

table->DropTable();

插入:

wxStrcpy(FirstName, wxT("JULIAN"));//FirstName所绑定的字段将添加一条"JULIAN"记录

wxStrcpy(LastName, wxT("SMART"));

if (!table->Insert())

        wxMessageBox(wxT("Insert error!"));

}

table->GetDb()->CommitTrans();//更新数据库时必须ComitTrans()

删除:

if (!table->DeleteWhere(wxT("name='wenbin'")))//这里面其实就是SQL的查询语句,不同的数据库不一样
{
 wxMessageBox(wxT("DELETION ERROR:"));
}

查询:

table->SetWhereClause(wxT("FIRST_NAME<>NULL"));//where从句

table->SetOrderByClause(wxT("LAST_NAME"));//order从句

table->SetFromClause(wxT(""));//from从句,这里是from table

if (!table->Query())//查询并判断结果
{
 wxMessageBox("QUERY ERROR");
}


int n=0;
while (table->GetNext())//这是将查询结果显示在ListCtrl控件上,GetNext()每次提取一条记录
{
        listctrl->InsertItem(n,FirstName);
        listctrl->SetItem(n,1,LastName);
        n++;
}

 

还有其他的操作参考其他资料了。。

 

下面是代码:

完整代码下载:http://ishare.iask.sina.com.cn/f/7885928.html

main.cpp

 

main.rc

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值