组合框与数据库中表的链接问题!
大家好,有问题想要大家帮忙!
问题是:有一个combox,想要和数据库中的一张表象链接,也就是说combox的data内容是数据库中一张表的内容,大家有什么好的意见哪?
下面是源代码:
BOOL BasicInfoInsertDlg::OninitDialog()
{
CDialog::OnInitDialog();
CString strSQL;
CDBVariant var;
int i=0;
CComboBox *pYardsCom=(CComboBox *)GetDlgItem(IDC_Yards);
if(!m_database.IsOpen())//于数据链接
{
if(!m_database.Open(_T("学生管理系统")))
ASSERT("不能打开数据库的连接!");
}
CRecordset rs(&m_database); 、、在combox框中插入数据库中的数据
strSQL.Format("select Academy_Name from Dic_Academy");
if(rs.GetRecordCount()!=0) rs.MoveFirst();
rs.Open(CRecordset::forwardOnly,strSQL);
while(rs.IsEOF())
{
int temp=0;
rs.GetFieldValue(temp,var);
pYardsCom->InsertString(i,var.m_pstring->GetBuffer(1));
rs.MoveNext();
i++;
}
return CDialog::OnInitDialog();
}
我得程序编译没有错误,但是combox框中没有显示数据,我得combox的style为drop list,请问大家有没有办法哪?
问题点数:30、回复次数:4Top
1 楼xts00(tt)回复于 2003-06-01 16:44:42 得分 5
可能你是不是没有连接上数据库。Top
2 楼small_wei(small)回复于 2003-06-01 22:20:44 得分 15
BOOL BasicInfoInsertDlg::OninitDialog()
{
CDialog::OnInitDialog();
CString strSQL;
CDBVariant var;
int i=0;
CComboBox *pYardsCom=(CComboBox *)GetDlgItem(IDC_Yards);
if(!m_database.IsOpen())//于数据链接
{
if(!m_database.Open(_T("学生管理系统")))
ASSERT("不能打开数据库的连接!");
}
CRecordset rs(&m_database); 、、在combox框中插入数据库中的数据
strSQL.Format("select Academy_Name from Dic_Academy");
//if(rs.GetRecordCount()!=0) rs.MoveFirst(); //表还没有打开呢!
rs.Open(CRecordset::forwardOnly,strSQL);
while(!rs.IsEOF()) //逻辑反了
{
int temp=0;
rs.GetFieldValue(temp,var);
pYardsCom->InsertString(i,var.m_pstring->GetBuffer(1));
rs.MoveNext();
i++;
}
return CDialog::OnInitDialog();
}
Top
3 楼nuaawenlin(飘人)回复于 2003-06-01 23:02:24 得分 5
upTop
4 楼qy789()回复于 2003-06-02 09:26:14 得分 5
打开资源编辑器,单击你的组合框控件的下拉按钮,然后向下拉,使drop list 的范围向下扩大,这样才会在运行时才会出现drop list 。 combox 和它的 drop list要分别设计大小。Top




