9 个解决方案
#1
找个现成的数据库读写类就可以了。
读取数据后,看一下listctrl的使用方法,自己写。
读取数据后,看一下listctrl的使用方法,自己写。
#2
http://download.csdn.net/source/1070271
例子,自己下载得了!简单易学!
例子,自己下载得了!简单易学!
#3
部分代码如下:
现在的问题是取值,赋值~~~望高手帮忙
CListCtrl *pList = (CListCtrl*)GetDlgItem(ID_List);
pList->InsertColumn(0, "ID", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(1, "分类", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(2, "金额", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(3, "说明", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(4, "日期", LVCFMT_LEFT, 100, -1);
void CDailyAccountDlg::OnQuery()
{
bool flag = true;
CoInitialize(NULL);
_ConnectionPtr pCon(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
try
{
pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dailyAccount.mdb", "", "", adConnectUnspecified);
try
{
pRst->Open("select * from daily", _variant_t((IDispatch*)pCon), adOpenDynamic, adLockUnspecified, adCmdText);
while(!pRst->adoEOF)
{
问题所在,不会赋值!
}
}
catch(_com_error e)
{
AfxMessageBox("数据查询失败!");
flag = false;
}
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败!");
flag = false;
}
if(flag)
{
pRst->Close();
pCon->Close();
pRst.Release();
pCon.Release();
}
CoUninitialize();
}
现在的问题是取值,赋值~~~望高手帮忙
#4
CString strID,strfenlei,strjine,strshuoming,strdate;
_variant_t var;
var=pRst->GetCollect("ID");
if(var.vt!=VTNULL)
strID=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("分类");
if(var.vt!=VTNULL)
strfenlei=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("金额");
if(var.vt!=VTNULL)
strjine=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("说明");
if(var.vt!=VTNULL)
strshuoming=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("日期");
if(var.vt!=VTNULL)
strdate=(LPCSTR)_bstr_t(var);
int i = pList->InsertItem(pList->GetItemCount(),strID);
pList->SetItemText(i,1,strfenlei);
pList->SetItemText(i,2,strjine);
pList->SetItemText(i,3,strshuoming);
pList->SetItemText(i,4,strdate);
pRst->MoveNext();
前提是"ID","分类","金额","说明","日期"是你数据表里的字段名,你看可以不?
_variant_t var;
var=pRst->GetCollect("ID");
if(var.vt!=VTNULL)
strID=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("分类");
if(var.vt!=VTNULL)
strfenlei=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("金额");
if(var.vt!=VTNULL)
strjine=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("说明");
if(var.vt!=VTNULL)
strshuoming=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("日期");
if(var.vt!=VTNULL)
strdate=(LPCSTR)_bstr_t(var);
int i = pList->InsertItem(pList->GetItemCount(),strID);
pList->SetItemText(i,1,strfenlei);
pList->SetItemText(i,2,strjine);
pList->SetItemText(i,3,strshuoming);
pList->SetItemText(i,4,strdate);
pRst->MoveNext();
前提是"ID","分类","金额","说明","日期"是你数据表里的字段名,你看可以不?
#5
dhl23
非常感谢~问题解决~~~
非常感谢~问题解决~~~
#6
呃 上面代码有错误!
应该是:
if(var.vt!=VT_NULL)
{
}
应该是:
if(var.vt!=VT_NULL)
{
}
#7
嗯,这个我知道,呵呵~~~
#8
看不到
#9
有用,谢谢啦
#1
找个现成的数据库读写类就可以了。
读取数据后,看一下listctrl的使用方法,自己写。
读取数据后,看一下listctrl的使用方法,自己写。
#2
http://download.csdn.net/source/1070271
例子,自己下载得了!简单易学!
例子,自己下载得了!简单易学!
#3
部分代码如下:
现在的问题是取值,赋值~~~望高手帮忙
CListCtrl *pList = (CListCtrl*)GetDlgItem(ID_List);
pList->InsertColumn(0, "ID", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(1, "分类", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(2, "金额", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(3, "说明", LVCFMT_LEFT, 100, -1);
pList->InsertColumn(4, "日期", LVCFMT_LEFT, 100, -1);
void CDailyAccountDlg::OnQuery()
{
bool flag = true;
CoInitialize(NULL);
_ConnectionPtr pCon(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
try
{
pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dailyAccount.mdb", "", "", adConnectUnspecified);
try
{
pRst->Open("select * from daily", _variant_t((IDispatch*)pCon), adOpenDynamic, adLockUnspecified, adCmdText);
while(!pRst->adoEOF)
{
问题所在,不会赋值!
}
}
catch(_com_error e)
{
AfxMessageBox("数据查询失败!");
flag = false;
}
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败!");
flag = false;
}
if(flag)
{
pRst->Close();
pCon->Close();
pRst.Release();
pCon.Release();
}
CoUninitialize();
}
现在的问题是取值,赋值~~~望高手帮忙
#4
CString strID,strfenlei,strjine,strshuoming,strdate;
_variant_t var;
var=pRst->GetCollect("ID");
if(var.vt!=VTNULL)
strID=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("分类");
if(var.vt!=VTNULL)
strfenlei=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("金额");
if(var.vt!=VTNULL)
strjine=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("说明");
if(var.vt!=VTNULL)
strshuoming=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("日期");
if(var.vt!=VTNULL)
strdate=(LPCSTR)_bstr_t(var);
int i = pList->InsertItem(pList->GetItemCount(),strID);
pList->SetItemText(i,1,strfenlei);
pList->SetItemText(i,2,strjine);
pList->SetItemText(i,3,strshuoming);
pList->SetItemText(i,4,strdate);
pRst->MoveNext();
前提是"ID","分类","金额","说明","日期"是你数据表里的字段名,你看可以不?
_variant_t var;
var=pRst->GetCollect("ID");
if(var.vt!=VTNULL)
strID=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("分类");
if(var.vt!=VTNULL)
strfenlei=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("金额");
if(var.vt!=VTNULL)
strjine=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("说明");
if(var.vt!=VTNULL)
strshuoming=(LPCSTR)_bstr_t(var);
var=pRst->GetCollect("日期");
if(var.vt!=VTNULL)
strdate=(LPCSTR)_bstr_t(var);
int i = pList->InsertItem(pList->GetItemCount(),strID);
pList->SetItemText(i,1,strfenlei);
pList->SetItemText(i,2,strjine);
pList->SetItemText(i,3,strshuoming);
pList->SetItemText(i,4,strdate);
pRst->MoveNext();
前提是"ID","分类","金额","说明","日期"是你数据表里的字段名,你看可以不?
#5
dhl23
非常感谢~问题解决~~~
非常感谢~问题解决~~~
#6
呃 上面代码有错误!
应该是:
if(var.vt!=VT_NULL)
{
}
应该是:
if(var.vt!=VT_NULL)
{
}
#7
嗯,这个我知道,呵呵~~~
#8
看不到
#9
有用,谢谢啦