CString strSQL;
strSQL="select DISTINCT YEAR_MONTH from attendance_stat";//DISTINCT
if(!rs_kqtj.Open(CRecordset::forwardOnly,strSQL))//AFX_DB_USE_DEFAULT_TYPE CRecordset::forwardOnly,strSQL CRecordset::snapshot
{
MessageBox("打开数据库失败! "," 数据库错误",MB_OK);
return false;
}
while(!rs_kqtj.IsEOF())
{
m_ctrYM.AddString(rs_kqtj.m_YEAR_MONTH);
rs_kqtj.MoveNext();
}
rs_kqtj.Close();
attendance_stat表:
ID (自动编号也是主键) YEAR_MONTH PERSON WORK_HOUR OVER_HOUR
1 2000-01 1 2
2 2000-01 20 20
3 2001-02 2 2
4 2001-02 20 30
我想在组合框中加入年月,年月不许重复,但是我用上面的代码在BOOL CGzjiesuanDlg::OnInitDialog() 中初试时为什么不行,这是怎么回事?
strSQL="select DISTINCT YEAR_MONTH from attendance_stat";//DISTINCT
if(!rs_kqtj.Open(CRecordset::forwardOnly,strSQL))//AFX_DB_USE_DEFAULT_TYPE CRecordset::forwardOnly,strSQL CRecordset::snapshot
{
MessageBox("打开数据库失败! "," 数据库错误",MB_OK);
return false;
}
while(!rs_kqtj.IsEOF())
{
m_ctrYM.AddString(rs_kqtj.m_YEAR_MONTH);
rs_kqtj.MoveNext();
}
rs_kqtj.Close();
attendance_stat表:
ID (自动编号也是主键) YEAR_MONTH PERSON WORK_HOUR OVER_HOUR
1 2000-01 1 2
2 2000-01 20 20
3 2001-02 2 2
4 2001-02 20 30
我想在组合框中加入年月,年月不许重复,但是我用上面的代码在BOOL CGzjiesuanDlg::OnInitDialog() 中初试时为什么不行,这是怎么回事?
我该怎么写哦,我想查询出的YEAR_MONTH 的值不重复哦
strSQL="select DISTINCT YEAR_MONTH from attendance_stat";//DISTINCT
这语句有什么问题吗?
把它转成 CString型,才能 AddString();
strSQL="select DISTINCT YEAR_MONTH from attendance_stat ";//DISTINCT
if(!rs_kqtj.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))//AFX_DB_USE_DEFAULT_TYPE {
MessageBox("打开数据库失败! "," 数据库错误",MB_OK);
return false;
}
while(!rs_kqtj.IsEOF())
{
m_ctrYM.AddString(rs_kqtj.m_YEAR_MONTH);
rs_kqtj.MoveNext();
}
rs_kqtj.Close();
不对哦,YEAR_MONTH是文本的,按照上面的做法都不得,提示“无效的描述器”