vc6.0如何将数据库的内容显示到编辑框文本中??
楼主你好!
这个很简单,请问你的库是Access库还是SQL Server库?
其实都一样,只要用SQL语句的话,数据库增、删、改、查四个基本操作都一模一样。两个不同的是,第一:如果是Access库,在未安装Access也能完成。
但是如果是SQL Server库的话,便要安装数据库环境了。第二:两种库的连接字串不同,因为两者所需的驱动不同。
当然,如果你要求Oracle库的话,就要装Oracle库,至今我还没弄过Oracle,据说有它自己的操作语句。
如果是要将数据库的内容显示到编辑框中,这个过程十分简单。
这里,我只说ADO方式。连接好数据库以后,用查询语句:
select 字段名 from 表名,然后将获得的记录集指针,再获取字段名,用while循环这个过程即可。
下面是演示代码:(字段太多,过程复杂,如果你用的文本框,只需要下面while循环里22行代码中的 2 句,即可。)
COperateABDB operateABDB;
operateABDB。
TableOperateAccount(operateFlat,searchFlat);
//删除所有列表已有项
m_showAccountTable。DeleteAllItems();
//abvDlg。
UpdateWindow();
//向列表添加项
try
{
int index = 0;
operateABDB。m_pRecordset->MoveFirst();
while(!operateABDB。
m_pRecordset->adoEOF)
{
operateABDB。lSerialNum_ATable = (long)operateABDB。m_pRecordset->GetCollect("SERIAL_NUM");
operateABDB。
fAmount = (float)operateABDB。m_pRecordset->GetCollect("AMOUNT");
operateABDB。strResume = (char*)(_bstr_t)operateABDB。
m_pRecordset->GetCollect("RESUME");
operateABDB。strAType = (char*)(_bstr_t)operateABDB。m_pRecordset->GetCollect("A_TYPE");
operateABDB。
strAIOrP = (char*)(_bstr_t)operateABDB。m_pRecordset->GetCollect("A_IORP");
operateABDB。strRecordUser = (char*)(_bstr_t)operateABDB。
m_pRecordset->GetCollect("RECORD_USER");
operateABDB。strClientName = (char*)(_bstr_t)operateABDB。m_pRecordset->GetCollect("CLIENT_NAME");
operateABDB。
strReceiptNum = (char*)(_bstr_t)operateABDB。m_pRecordset->GetCollect("RECEIPT_NUM");
operateABDB。strRemark = (char*)(_bstr_t)operateABDB。
m_pRecordset->GetCollect("REMARK");
operateABDB。strADate = (char*)(_bstr_t)operateABDB。m_pRecordset->GetCollect("A_DATA");
operateABDB。
strAInputTime = (char*)(_bstr_t)operateABDB。m_pRecordset->GetCollect("INPUT_TIME");
strSNum_ATable。Format(L"%d",operateABDB。
lSerialNum_ATable);
strAmount。Format(L"¥%。2f",operateABDB。fAmount);
m_showAccountTable。InsertItem(index,0);
m_showAccountTable。
SetItemText(index,0,strSNum_ATable);
m_showAccountTable。SetItemText(index,1,operateABDB。strADate);
m_showAccountTable。
SetItemText(index,2,operateABDB。strResume);
m_showAccountTable。SetItemText(index,3,strAmount);
m_showAccountTable。
SetItemText(index,4,operateABDB。strAType);
m_showAccountTable。SetItemText(index,5,operateABDB。strAIOrP);
m_showAccountTable。
SetItemText(index,6,operateABDB。strRecordUser);
m_showAccountTable。SetItemText(index,7,operateABDB。strAInputTime);
m_showAccountTable。
SetItemText(index,8,operateABDB。strClientName);
m_showAccountTable。SetItemText(index,9,operateABDB。strReceiptNum);
m_showAccountTable。
SetItemText(index,10,operateABDB。strRemark);
operateABDB。m_pRecordset->MoveNext();
index ;
}
//operateABDB。
m_pRecordset->Close();
operateABDB。CloseABDBLink();
}
catch(。。。)
{
MessageBox(
L"可能由于账目表为空 或 某种原因, 在查询账目时 发生异常, 请您重新运行软件!",
L"操作提示",
MB_ICONWARNING
);
}
不过我写的这个软件,是用的列表视图控件和列表下拉框。
楼主请看上面的代码,我有11个字段的值需要获取,所以用的列表。如果你只需要获取一个字段值的话,当然可以用文本框了,过程也远没有这样复杂。
只需要添加文本框成员变量,然后用AddString()这个方法,依次添加从数据库得到的值。
这样吧,这里打字累,一时候又不能让你完全明白,你加我吧:78413718,加的时候请注明:
问“C 操作数据库”、“问文本框显示数据库记录”等都行,没有验证我不会加的
希望能为你带来帮助,谢谢!。
问:如何实现从编辑框输入数据,然后将ACCESS2003数据库中相关的内容在列表框中显示出?
答:你可以编写一个编辑框的事件就行了,可以是修改或者点击的时候就把列表框.iter()=编辑框的valuse。 希望能帮助你!详情>>