其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
SQL Server 2000 Windows CE版 - C++编程(转贴)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

SQL Server 2000 Windows CE版 - C++编程

适用于:Windows CE 3.0

http://www.microsoft.com/china/windows/embedded/community/tips/ce/sqlserverforce.asp

发布日期:2003年9月26日
相关连接
将使用技巧提交给Windows Embedded社区

供稿人:Embedded MVP,Abraham Kcholi

Microsoft SQL Server™ 2000 for Windows® CE是一个得心应手的小工具。然而,针对C++开发人员提供的帮助内容却较为混乱。当我们着手利用专门针对SQL Server CE提供的对象链接与嵌入数据库(OLEDB)进行开发活动时,通常会查看相关示例,并感觉得心应手;然而,当我们试图为普通用户创建一个示例时,则会遇到某些绑定问题。下面提供了一种可能有助于克服绑定问题的解决方案。

  1. 从Rowset(行集合)对象中获取数据
  2. 在行集合中获取有关列的信息
    hr = m_pIRowset->QueryInterface(IID_IcolumnsInfo,(void **)&pIColInfo);
    hr = pIColInfo->GetColumnInfo(&cCol,&pColInfo,&pStringBuffer);
    
  3. 使用上述信息创建绑定(DBBINDING),而DBBINDING则代表行集合列中的实际数据被转移至用户缓冲区的具体方式。

    重要提示:在您使用DBCOLUMNINFO(一种对应于行集合中每一列的结构)对绑定进行初始化之前,请先检查返回参数(&cCol)中的列数。这主要是因为,上述列中可能包含书签列,而与书签列有关的信息则是DBCOLUMNINFO数组的第一个结构。为此,应从返回数组的第二个元素中开始获取信息。

    for ( iCol = 0 ; iCol < cCol - 1 ; iCol++ )
    {
    		pBinding[iCol].iOrdinal = pColInfo[iCol + 1].iOrdinal;
    		pBinding[iCol].dwPart = DBPART_VALUE | DBPART_LENGTH | DBPART_STATUS;
    		pBinding[iCol].eParamIO = 0;
    		pBinding[iCol].wType = pColInfo[iCol + 1].wType;
    		pBinding[iCol].pTypeInfo = pColInfo[iCol + 1].pTypeInfo;
    		pBinding[iCol].pObject = NULL;
    		pBinding[iCol].obValue = dwOffset + offsetof(ColData,bData);
    		pBinding[iCol].obLength = dwOffset + offsetof(ColData,dwLength);
    		pBinding[iCol].obStatus = dwOffset + offsetof(ColData,dwStatus);
    		pBinding[iCol].cbMaxLen = pColInfo[iCol + 1].ulColumnSize + sizeof(ULONG);
    		pBinding[iCol].dwFlags = pColInfo[iCol + 1].dwFlags;
    
    		pBinding[iCol].dwMemOwner = DBMEMOWNER_CLIENTOWNED;
    		pBinding[iCol].pBindExt =NULL;
    		dwOffset += pBinding[iCol].cbMaxLen + offsetof(ColData,bData);
    
  4. 将绑定传递给Rowset(行集合)对象,并拾取存取程序句柄。

上述提示与技巧仅供参考,其目的仅限于为读者提供便利。与上述提示和技巧使用相关的全部风险或后果均应由使用者自行承担。




相关文章

相关软件