DataGrid控件 如何实现SQL语句中where ID='001'的效果

小叶子大人 2012-09-18 01:00:02
我的DataGrid控件已经连上数据库,表中的各个字段以及所有记录都能显示。
现在添加了一个CEdit控件和一个CButton控件,目的是在CEdit控件中输入数字,点击CButton的时候可以显示SQL语句“Select * from machine where num='001'”这句的效果(machine是表名,num是字段名)
DataGrid控件名为IDC_SHOW_MACHINE,ADODC控件名为IDC_ADODC_MACHINE

如果哪位高手用到了其他控件麻烦写出来,最好把函数名也写出来~谢谢各位了
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
小叶子大人 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 2 楼 的回复:
通过条件语句重新查询一下,再给DataSource重新赋予查询的结果!

能给个具体的语句么?
[/Quote]
我用的是下面的方法
Query= "Select * from machine where num='"+m_sSearchNum+"'";//设定SQL语句
adosql.m_pRecordset.CreateInstance(__uuidof(Recordset));//初始化记录集指针
adosql.m_pRecordset->Open((_variant_t)Query,adosql.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);//执行查询,Open()用_variant_t,Execute()用_bstr_t,这里只是说的SQL语句的类型,其他参数还得看MSDN
希望对其他人也有帮助~.~
hdg3707 2012-09-24
  • 打赏
  • 举报
回复
CString str;
str.Format("Select * from machine where num='%d'",sSearchNum);
DataGrid.SqlText(str;//好象是这个属性,你的DataGrid需要设两个属性,一个是数据源(datasource),一个是SQL语句(好象是sqlText),你看看控件的属性就知道了
DataGrid.Refresh();//如果不行,就DataGrid.Update();
小叶子大人 2012-09-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
通过条件语句重新查询一下,再给DataSource重新赋予查询的结果!
[/Quote]
能给个具体的语句么?
贪玩的老鼠 2012-09-18
  • 打赏
  • 举报
回复
通过条件语句重新查询一下,再给DataSource重新赋予查询的结果!
小叶子大人 2012-09-18
  • 打赏
  • 举报
回复
补充一句:num='001' 001是可变的,是有CEdit的输入值决定的,CEdit绑定了一个变量m_sSearchNum

4,017

社区成员

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

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