VC++2005下的ADO SQL语句(like,count,distinct)和操作(转)
http://blog.sina.com.cn/s/blog_56fd66a70100hxjf.html
http://timke.blog.163.com/blog/#m=0
环境:MFC Dialog UNICODE
1 寻找包含某个字符的字段值并将符合条件的记录取出 ,like语句
_ConnectionPtr m_pCon;
_RecordsetPtr m_pRs;
try{
CString sql=SELECT * FROM 表 WHERE 字段 LIKE '%'
HRESULT hr=m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
if (SUCCEEDED(hr))
{
while (!m_pRs->EndOfFile)
{
vFieldValue=m_pRs->GetCollect(字段名称);
MessageBox((_bstr_t)vFieldValue);
m_pRs->MoveNext();
}
hr=m_pRs->Close();//关闭记录集
}
}
catch(_com_error e)
{
MessageBox(e.Description());
}
2 获取符合条件记录的个数,并将获取到的个数取出 count语句
_ConnectionPtr m_pCon;
_RecordsetPtr m_pRs;
try{
CString sql=_T("SELECT COUNT(*) FROM 表名 WHERE 字段名='字段值'");
_variant_t RecordsAffected;
m_pRs=m_pCon->Execute((_bstr_t)sql,&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRs->GetCollect(vIndex);
MessageBox(_bstr_t( vCount),_T("获取符合条件的记录的个数"),MB_OK);
m_pRs->Close();///关闭记录集
}
catch(_com_error e)
{
MessageBox(e.Description());
}
3 取出某个符合条件的不重复字段 distinct语句
_ConnectionPtr m_pCon;
_RecordsetPtr m_pRs;
try{
_variant_t vFieldValue;
CString sql=_T("SELECT DISTINCT 需要取出的字段 FROM 表名 WHERE 字段='字段值'");
_variant_t RecordsAffected;
m_pRs=m_pCon->Execute((_bstr_t)sql,&RecordsAffected,adCmdText);
while (!m_pRs->EndOfFile)
{
vFieldValue=m_pRs->GetCollect(_T("需要取出的字段"));
MessageBox(_bstr_t(vFieldValue));
m_pRs->MoveNext();
}
m_pRs->Close();
}
catch(_com_error e)
{
MessageBox(e.Description());
}
4 操作表过程中的一些问题
4(1)打开表返回的记录数总是-1
_RecordsetPtr m_pRs;
m_pRs->RecordCount返回值总是-1
解决方法:
设置游标的类型为客户端类型
m_pRs->CursorLocation=adUseClient;
然后打开表
4(2)移动不了记录指针
_RecordsetPtr m_pRs;
m_pRs->MoveNext();语句不起作用
解决方案:采用静态方式打开
下面的sql是一个sql语句
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
更改为
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
以上程序在VC++2005 MFC Unicode下调试通过
VC++2005下的ADO SQL语句(like,count,distinct)和操作(转)的更多相关文章
- SQL语句中count(1)count(*)count(字段)用法的区别
SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和cou ...
- sql 语句中count()有条件的时候为什么要加上or null
参考:https://blog.csdn.net/qq_32719287/article/details/79513164 1.sql 语句中count()有条件的时候为什么要加上or null. 如 ...
- SQL语句中count(1)count(*)count(字段)用法的区别(转)
SQL语句中count(1)count(*)count(字段)用法的区别 在SQL语句中count函数是最常用的函数之一,count函数是用来统计表中记录数的一个函数, 一. count(1)和cou ...
- pandas pivot_table或者groupby实现sql 中的count distinct 功能
pandas pivot_table或者groupby实现sql 中的count distinct 功能 import pandas as pd import numpy as np data = p ...
- 4.5 .net core下直接执行SQL语句并生成DataTable
.net core可以执行SQL语句,但是只能生成强类型的返回结果.例如var blogs = context.Blogs.FromSql("SELECT * FROM dbo.Blogs& ...
- mysql row日志格式下 查看binlog sql语句
有时候我们需要使用row作为binlog的日志格式,即配置文件使用了binlog_format= row 参数 这样以来,我们在查看数据库binlog内容时候,就看不到增删改查的具体语句了,在数据库恢 ...
- .net core下直接执行SQL语句并生成DataTable
.net core可以执行SQL语句,但是只能生成强类型的返回结果.例如var blogs = context.Blogs.FromSql("SELECT * FROM dbo.Blogs& ...
- LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)
Select/Distinct操作符 适用场景:o(∩_∩)o… 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也 ...
- MySQL常用sql语句-----数据表的查询操作
常用的sql语句如下,应对工作足以 1.查询指定字段 select c_id,c_age,c_name from t_student; select c_id as 编号,c_name as 姓名,c ...
随机推荐
- CERT_KEY_CONTEXT_PROP_ID,CERT_KEY_PROV_INFO_PROP_ID,CERT_KEY_PROV_HANDLE_PROP_ID和CERT_KEY_SPEC_PROP_ID
上面四个属性是CertSetCertificateContextProperty或CertGetCertificateContextProperty可以为证书上下文设置的几个属性,下面对它们的关联简单 ...
- PHP基础学习笔记(一)
1.初步了解PHP+ php是一种运行在服务端的跨平台的脚本语言. + php语法: <?php echo "welcome!": ?> php像javascript语 ...
- IAR Embedded Workbench IDE 显示行号
第一次使用IAR Embedded Workbench IDE,默认设置是不现实代码行号的.显示代码行号方法如下:首先选择“Tools”菜单项,打开“IDE Option”对话框,然后在树状图中选择“ ...
- android学习笔记15——Galley
Gallery==>画廊视图 Gallery和Spinnery父类相同——AbsSpinner,表明Garrey和Spinner都是一个列表框. 两者之间的区别是:Spinner显示的是一个垂直 ...
- winform实现word转换为PDF(.doc)
注意:实现word转换为PDF文件,本人安装Office为2013; word以后缀为.doc为例实现文件类型转换,具体方式如下所示: 实现步骤: 1.添加命名空间引用——using Microsof ...
- duplicate symbols
duplicate symbol _mCollecatView in: /Users/Rubert/Library/Developer/Xcode/DerivedData/ChengDuHidengD ...
- PLSQL_性能优化系列13_Oracle Index Rebuild索引重建
2014-10-04 Created By BaoXinjian
- HDU 2717 Catch That Cow(BFS)
Catch That Cow Farmer John has been informed of the location of a fugitive cow and wants to catch he ...
- UNIX网络编程
UNIX网络编程--socket的keep http://www.68idc.cn/help/opersys/unixbsd/20150731471448.html
- 点击Listview弹出PopWindow的用法
先来张截图: 如图点击listview中的Item在item的下方弹出一个框框,这个框框就是用的Popwindow. 用法很简单:首先写一个PopupWindow并自定义它的布局: ...