请问怎么在combobox下拉列表中显示用户名啊,求大神帮忙,急急急!!!

templezhang 2012-05-14 05:13:11
这里是登录对话框类
// CLoginDlg dialog

CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLoginDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLoginDlg)
m_strUser = _T("");
m_strPass = _T("");
//}}AFX_DATA_INIT
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLoginDlg)
DDX_Control(pDX, IDC_EDIT1, m_ctrPass);
DDX_Control(pDX, IDC_COMBO1, m_ctrUser);
DDX_CBString(pDX, IDC_COMBO1, m_strUser);
DDX_Text(pDX, IDC_EDIT1, m_strPass);
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
//{{AFX_MSG_MAP(CLoginDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers

void CLoginDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);//将对话框数据传入变量
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM admins",_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);//打开表

if(m_strUser=="")
{
MessageBox("请输入用户名!","用户登录");
m_ctrUser.SetFocus();
return;
}

CString str;
str="adminID='"+m_strUser+"'";
m_pRecordset->Filter=(_variant_t)str;
//AfxMessageBox( "请先选中一条记录 ");
m_pRecordset->Requery(adLockReadOnly);//查找系统用户记录


if(m_pRecordset->BOF&&m_pRecordset->adoEOF)
{
//无用户记录,登录用户名错误
MessageBox("用户名错误","用户登录");
m_ctrUser.SetFocus();
return;
}
else
{
//检查口令是否正确
if((m_pRecordset->GetCollect("adminPassword").bstrVal)!=m_strPass)
{
MessageBox("口令错误","用户登录");
m_ctrPass.SetFocus();
return;
}
else
{
m_pRecordset->Close();
}
}

CDialog::OnOK();
}

void CLoginDlg::OnCancel()
{
// TODO: Add extra cleanup here

CDialog::OnCancel();
}

BOOL CLoginDlg::OnInitDialog()
{
CDialog::OnInitDialog();

while(!m_pRecordset->adoEOF)
{
m_ctrUser.AddString(m_pRecordset->GetCollect("adminID"));
m_pRecordset->MoveNext();
}
// TODO: Add extra initialization here

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
下面这段主程序中初始化和连接Oracle数据库,
// CYanxinApp initialization

BOOL CYanxinApp::InitInstance()
{
if(!AfxOleInit())
{
AfxMessageBox("初始化COM库失败!");
return FALSE;
}
//此处添加初始化数据库连接
m_pConnection.CreateInstance("ADODB.Connection");
//连接数据库
try
{
m_pConnection->ConnectionTimeout=8;
//连接oracle数据库
m_pConnection->Open("Provider=OraOLEDB.Oracle.1;Database=orcl;User Id=dbuser01;Password=123;Persist Security Info=True","","",adModeUnknown);
}
catch(_com_error e)//捕捉异常
{
AfxMessageBox("数据库连接失败!");
return FALSE;
}

AfxEnableControlContainer();
不要红色那段没问题,我想在登陆界面的下拉框中显示用户名,就加了红色那段,可是出错了,不知道怎么改,求大神指点!!!
...全文
121 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
templezhang 2012-05-15
  • 打赏
  • 举报
回复
没人关注啊。。。
向立天 2012-05-15
  • 打赏
  • 举报
回复
m_pRecordset->adoEOF可以在well里做判断么
是不是有一个函数返回BOOL值的
  • 打赏
  • 举报
回复
红色部分尝试改成这样:
while(!m_pRecordset->adoEOF)
{
_variant_t var;
var = m_pRecordset->GetCollect("adminID");
CString strTmp = (LPCSTR)(_bstr_t(var.bstrVal));
m_ctrUser.AddString(strTmp);
m_pRecordset->MoveNext();
}
例行更新,不过本次有新组件加入,感觉这次的组件早就应该有了,居然到现在才加入进来,不管怎么说有总比没有好。这次还是以改进为主,改进项占了大多数。废话不多说具体内容大家看更新说明吧!另外由于经常收到chm格式文件无法用的反馈,其实不是无法用,只是要授权。虽然已经解释多遍,但是依然有人不知道,索性就取消chm格式的文档了,今后统一采用exe+pdf格式,由于目前尚无时间制作pdf格式的api文档,所以1.5版只有exe的,pdf格式将在下一版提供。 jQuery EasyUI 1.5版本更新内容: Bug(修复) combobox:修复在加载包含所选项数据的时候不会触发“onSelect”事件的BUG; datagrid:修复在字段设置为一个空值的时候导致在某些情况下“updateRow”方法无法正常工作的BUG。 Improvement(改进) 一个label标签可以被关联到任意表单的字段上; combobox:改进在下拉项“select”和“unselect”的规则; combobox:添加“limitToList”属性来限制只能输入在列表项的内容; combogrid:允许用户快速克隆组件; form:添加“dirty”属性,允许用户只发送变更的字段内容; form:添加“resetDirty”方法; datagrid:允许用户在没有数据的时候显示一条消息(比如:无记录); textbox:添加“label”、“labelWidth”、“labelPosition”和“labelAlign”属性; spinner:添加“spinAlign”属性; calendar:允许用户在日历组件上显示周数(今年的第几周); window:添加“constrain”属性。 New Plugin(新组件) passwordbox:该插件允许用户在具有更好交互功能的输入框输入密码; combotreegrid:该插件结合了combobox和treegrid组件。
大家好,又见面了!EasyUI又更新了,这次更新内容还是不少的,具体内容请参考下面的更新说明,官方的更新说明还少了1条,我给补上了。 jQuery EasyUI 1.3.5版本更新内容: Bug(修复) searchbox:修复“searcher”函数提供的“name”参数值错误的问题; combo:修复“isValid”方法无法返回布尔值的问题; combo:修复点击页面某一个combo组件的下拉列表时触发的“onHidePanel”事件会导致页面上其他combo组件的下拉列表被关闭的问题; combogrid:修复某些从combo组件继承来的方法无法使用的问题。 Improvement(改进) datagrid:改进检查行时候的性能; menu:允许追加菜单分隔符; menu:新增“hideOnUnHover”属性用于在鼠标离开菜单的时候指示是否需要隐藏菜单; slider:新增“clear”和“reset”方法; tabs:新增“unselect”方法、“onUnselect”事件; tabs:新增“selected”属性,用于指定的默认打开的面板; tabs:Tab Panel(Tab页)新增“collapsible”属性,用于设置是否允许摺叠面板; tabs:新增“showHeader”属性、“showHeader”方法和“hideHeader”方法; combobox:允许“disabled”属性禁用下拉列表选项; tree:改进数据加载时候的性能; pagination:新增“layout”属性,用于自定义控件的样式布局; accordion:新增“unselect”方法、“onUnselect”事件; accordion:新增“select”和“multiple”属性; accordion:新增“getSelections”方法; datebox:新增“sharedCalendar”属性,允许多个datebox控件共享使用同一个calendar控件。 datebox:新增“buttons”属性,用于自定义日历下方的按钮。 (译者注:该点更新内容官方更新公告上没有注明,具体内容和用法请看datebox的API。) 历史版本: - jQuery EasyUI 1.3.4 离线API简体文版 http://download.csdn.net/detail/richie696/6302785 - jQuery EasyUI 1.3.4 离线API简体文版 http://download.csdn.net/detail/richie696/5363933

4,018

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧