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 ...
随机推荐
- 【Andorid开发框架学习】之Mina开发之客户端开发
昨天我们讲到了Mina的基本知识点.如果还有不懂得同学可以看一下我昨天的博客.http://www.cnblogs.com/getherBlog/p/3934927.html今天我着重来讲一下基于Mi ...
- SSH_框架整合4--添加员工信息
SSH_框架整合4--添加员工信息 一. 1 index.jsp:添加:<a href="emp-input">添加员工向信息:Add Employees' Infor ...
- 剑指offer系列59---寻找丑数
[题目]把只包含因子2.3和5的数称作丑数(Ugly Number). * 例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 解法一 ...
- 【initrd】向虚拟文件系统initrd.img中添加驱动
虚拟文件系统:initrd-2.6.18-194.el5.img 希望添加网卡或SCSI等驱动 步骤: 解压initrd-2.6.18-194.el5.img: 添加*.ko文件,并修改init可执行 ...
- PHP header函数大全
PHP header函数大全 header('Content-Type: text/html; charset=utf-8'); header('Location: http://www.php-no ...
- BeX5学习笔记
1.[窗口]——[首选项]中,有数据源等其它信息的设置,如下所示:
- 【转】c#实现文件下载
需求:点击SAVE,去ajax去后台下载文件,完成后出现保存对话框,然后直接下载. 解决方案:下载完成后用JS转到向到另一个页面,在这页面Page_Load里用C#Response对象直接下载. 下载 ...
- mysql_connect和mysql_pconnect区别(转)
php中mysql_pconnect()的实现方式:其实mysql_pconnect()本身并没有做太多的处理,它唯一做的只是在php运行结束后不主动close掉mysql的连接.mysql_pcon ...
- SOA_Oracle SOA Suite and BPM Suite 11g官方虚拟机安装指南(案例)
参考:Oracle官方 - http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html?ssSo ...
- PLSQL_基础系列07_插入方式Pivoting / Unconditional / Conditional ALL / Conditional FIRST INSERT(案例)
2014-12-08 Created By BaoXinjian