VC数据库系统开发完全手册固定资产系统资产类别
发表在C语言图书答疑 2011-01-09
是否精华
版块置顶:
当单击VC++ DATAGRID控件时,如何把DATAGRID控件中的数据显示在对话框的编辑框中.
下面是我的源代码,数据库表只有一个字段,这个字段对应的值有几个,但当我单击DATAGRID控件时,不管点击哪一行,编辑框中始终显示的是第一行的值.请问是什么原因,该如何修改代码?我现在要实现的是当我随机点击DATAGRID控件中的某一行值时,编辑框中要显示对应的值.请楼主赐教.
有楼主有以下回答;

sql.Format("select kinds as 资产类别 from tb_kinds");
这个查询语句没有判断条件,查询到的是数据表中的所有记录,默认情况指向第一条记录。所以显示的都是第一条记录。
应该修改SQL语句添加判断条件
但如何为SQL语句添加判断条件呢,怎样具体地修改代码,希能贴上具体代码.
关键代码如下:
void CCbfDlg::OnClickDatagrid()  
{
// TODO: Add your control notification handler code here
CString strConn;
strConn="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=EquipmentManage";
_ConnectionPtr pConn(_uuidof(Connection));
pConn->Open((LPCTSTR)strConn,"","",adModeUnknown);


CString str;

_variant_t temp;
CString sql;
sql.Format("select kinds as 资产类别 from tb_kinds");
  _RecordsetPtr pRst(_uuidof(Recordset));
pRst->Open((_bstr_t)sql,pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

  if ((!pRst->ADOEOF)&&(!pRst->BOF))
{
temp = pRst->GetFields()->GetItem((long)0)->Value;

str =temp.bstrVal;

m_edit.SetWindowText(str);

}


}
分享到:
精彩评论 1
蜡笔小新
学分:0 LV1
TA的每日心情
无聊
2023-02-13 19:27:34
2011-01-10
沙发
sql.Format("select kinds as 资产类别 from tb_kinds");
这个查询语句没有判断条件,查询到的是数据表中的所有记录,默认情况指向第一条记录。所以显示的都是第一条记录。
你应该修改SQL语句添加判断条件 可以参考书中实例
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照