Welcome 微信登录

首页 / 软件开发 / C++

数据库开发之窗体编程

数据库开发之窗体编程

数据库开发之窗体编程2008-02-26李强在很多管理信息系统的窗体都有一些共同点:可以通过框架菜单打开各种类型的视图窗口,而这些视图窗口具有MDI的一些特点,可以在框架窗体中最小化最大化还原等,并且点击菜单只能产生一个窗口(象SDI)。这种形式的窗口设计给人与一种条理感。于是我用VC6.0尝试创建这种窗口,现将整个过程为大家写下来,这里应含有MFC的一些内幕技术。一、新建AppWizad(exe)工程,名为mdisdi,基于MDI的文档视模式(其余默认)...
不要把auto_ptr放入容器

不要把auto_ptr放入容器

不要把auto_ptr放入容器2010-07-22winter本来没有打算自己翻译Effective STL的,怕影响大家情绪:),只是发现有些条款在网络上找不到,只好自己翻译了。--Winter坦白的讲,这个条款不应加入本书,因为包含atuo_ptr的容器(COAPs)本来在STL中就是禁止的。就算你这么用了,编译器也不会编译你的代码。而标准委员会也没有解释为什么不能这样。对于COAPs我应该什么都不用说的,因为你的编译器应该替你做好了一切工作,所有这种...
Access2000下内部COM插件的编程实现

Access2000下内部COM插件的编程实现

Access2000下内部COM插件的编程实现2008-02-26 VC知识库 简介在这里,我们仍然使用VC6中的ATL来实现Access2000下的内部COM插件,至于其基本原理和详细的实现方法及步骤,可以参看前面我的文章< Office2000下内部COM插件的编程实现>等,这里只重点说明它和其它Office2000中内部COM插件(如:Word2000、Excel2000、PowerPoint2000、Outlook2000)实现的不同之...
在不装AD的情况下管理SPS的访问群体

在不装AD的情况下管理SPS的访问群体

在不装AD的情况下管理SPS的访问群体2010-07-22第一步、新建本地用户在管理->本地用户和组->用户里面添加新用户,譬如叫做newuser,注意要把描述给写好,省得以后忘记这用户属于哪个部门;第二步、把本地用户添加到SPS用户列表里面去在SPS的网站设置->用户管理里面把这新建的newuser添加进去,选择用户的时候直接打newuser就可以了,注意如果希望把用户添加到访问群体里面,就不能把该用户定义为读者;第三步、新建SPS的访...
介绍一个增强的数据库类CDataSet

介绍一个增强的数据库类CDataSet

介绍一个增强的数据库类CDataSet2008-02-26因为MFC完全支持数据库应用程序的开发,所以大多数数据库应用都使用CDatabase和CRecordset类,并且类向导(Class Wizard)提供了快速简易的方式来使用这两个类。有一点不足的就是当应用程序涉及到多表数据库时,类向导将产生大量的关于记录集的源码文件使得工程给人的感觉很臃肿混乱。本文介绍如何使用一个模板记录集类来降低类向导所产生的记录集文件的数量,同时增强记录集类(CRecords...
用auto_ptr类模板帮助动态内存管理

用auto_ptr类模板帮助动态内存管理

用auto_ptr类模板帮助动态内存管理2010-07-22赵湘宁动态内存使用最多的是在C++应用程序的代码中。有过编程经验的程序员虽然都知道new操作符的使用一定要与delete匹配,在某些场合仍然可能有内存溢出。当异常被掷出时,程序的正常控制流程被改变,因此导致潜在的内存溢出。例如,void g() //可能掷出{ if (some_condition == false) throw X();}void func(){ string * pst...
如何利用UDL文件来建立ADO连接

如何利用UDL文件来建立ADO连接

如何利用UDL文件来建立ADO连接2008-02-26使用通用数据连接文件(*.UDL,以下简称文件)来创建ADO连接,可以和ODBC一样可视化地定义要连接的数据源,从而实现数据访问的透明性。1.使用UDL文件来创建ADO连接创建ADO的连接,首先要设置ADO连接对象的ConnectionString属性,该属性提供所要连接的数据库类型、数据所处服务器、要访问的数据库和数据库访问的安全认证信息。比较专业的方法是在ConnectionString中直接提供以...
把其它程序(如网页等)的文字拖放到Memo里

把其它程序(如网页等)的文字拖放到Memo里

把其它程序(如网页等)的文字拖放到Memo里2010-07-22需要用 COM 接口的 OLE 拖放目标, 程序新建一个支持拖放目标的UnitTMyDropTarget 单元, 在这个单元里创建一个 TMyDropTarget 类。这个程序可以使从写字板或者网页等定义的文本块用鼠标拖动, 放到程序的 Memo 里, 插入到 Memo 的拖放的位置。首先看看如何使用这个 TMyDropTarget 类:在 Form 的头文件里 (例如 Unit1.h) 需要...
在Visual C++中用ADO进行数据库编程

在Visual C++中用ADO进行数据库编程

在Visual C++中用ADO进行数据库编程2008-02-26蒋东宇ActiveX数据对象(ADO)是OLE DB上面的高层数据库API。我们在C++程序中也可以调用ADO。本文将在VC 6.0环境下做一个小小的例子解释如何使用ADO。1. 生成应用程序框架并初始化OLE/COM库环境创建一个标准的MFC AppWizard(exe)应用程序,然后在应用程序类的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COM DLL库)。...
详细解说STL排序(Sort)

详细解说STL排序(Sort)

详细解说STL排序(Sort)2010-07-22Winter0 前言: STL,为什么你必须掌握对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思去考虑其算法原理,也不用再去验证其准确性。不过,等你开始应用计算机语言来工作的时候,你会发现,面对不同的需求你需要一次又一次去用代码重复实现这些已经成熟的算法,而...
在存储过程中调用外部的动态连接库

在存储过程中调用外部的动态连接库

在存储过程中调用外部的动态连接库2008-02-26 VC知识库 问题的提出:一般我们要根据数据库的纪录变化时,进行某种操作。我们习惯的操作方式是在程序中不停的查询表,判断是否有新纪录。这样耗费的资源就很高,如何提高这种效率,我想在表中创建触发器,在触发器中调用外部动态连接库通过消息或事件通知应用程序就可实现。而master的存储过程中最好能调用外部的动态连接库,我们在触发器中调用master的存储过程即可。说明:VC6需要安装较新的Platform SD...
C++ Builder多线程编程中一些体会

C++ Builder多线程编程中一些体会

C++ Builder多线程编程中一些体会2010-07-22最近在写一个程序用到了多线程,所以对CB下的多线程有一定的学习。现在把自己的一些心得讲一下。水平有限,写的很粗略,请大家见谅。CB相对于VC来说,在CB下写多线程程序是很简单的。不仅是VCL中有TThread这个类。封装了那些关于多线程的WINDOW API。我觉得更方便的是他提供了直接访问主VCL线程中对象的能力。可以很容易的和主线程中的窗体,控件打交道。和单线程的方式没有太多区别。只是在有多...
使用ADO实现BLOB数据的存取-ADO开发实践之二

使用ADO实现BLOB数据的存取-ADO开发实践之二

使用ADO实现BLOB数据的存取-ADO开发实践之二2008-02-26一、前言在上一篇文章《》中我们详细介绍了ADO基本的操作方法,在实际的开发过程中我们常常需要存储较大的二进制数据对象,比如:图像、音频文件、或其它二进制数据,这些数据我们称之为二进制大对象BLOB(Binary Large Object),其存取的方式与普通数据有所区别。本文将介绍利用ADO在数据库中存取BLOB数据的具体实现过程,并给出实现图像存取显示的完整示例工程。二、前期准备首先...
C++0x概览:多线程(1)

C++0x概览:多线程(1)

C++0x概览:多线程(1)2010-07-22 vckbase yqever++ 0x 标准将增加对多线程的支持。以后所有的编译器都必须遵循新标准中对多线程的规定,这将会给不同平台上程序的移植带来很大的方便。让我们先来看看std::thread类,它负责管理线程的执行过程。启动线程我们创建一个std::thread类的实例来启动一个新线程,用一个线程函数作为构造函数的参数。如void do_work();std::thread t(do_work);st...
ADO第一次亲密接触-ADO开发实践之一

ADO第一次亲密接触-ADO开发实践之一

ADO第一次亲密接触-ADO开发实践之一2008-02-26一、ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出示例...
关于DAO数据库编程的几点经验

关于DAO数据库编程的几点经验

关于DAO数据库编程的几点经验2008-02-26king_koo前言本文是作者在DAO数据库编程中积累的经验,希望对使用DAO进行开发的朋友有所帮助。一、如何在新建时没选数据库支持的程序中加入数据库支持以对话框DAO-Access为例:1.1用类向导新建类.Name:"mydb", Base Class:"DaoRecordset",选择正确的数据源和表.注:vc6无法直接对access2000进行支持,要用的话先...
MySQL数据库接口的VC实现与应用

MySQL数据库接口的VC实现与应用

MySQL数据库接口的VC实现与应用2008-02-26袁渊摘要:MySQL数据库作为一种网络数据库性能十分出色,但其在应用软件中使用较少。本文将主要探讨MySQL提供的两种数据库接口 ——(ODBC API和C API)在VC中的应用,并且形成一个类用以封装C API数据库接口的功能。引言随着现代计算机软硬件及网络技术的发展,在网上查找资料已成为现在获取信息的最重要手段之一。众所周知,所有的网上信息都是储存在网站数据库中的,这些信...
C++0x概览:多线程(3)

C++0x概览:多线程(3)

C++0x概览:多线程(3)2010-07-22 vckbase yqever在初始化时保护数据如果你的数据需要在初始化时被保护,就不能再使用mutex了。因为在初始化结束后,这会引起不必要的同步。C++0x提供了很多方法来在初始化时保护数据。1)假定你的构造函数是用constexpr关键字声明并且满足常量初始化的条件。在这种情况下,一个静态存储区的对象在静态初始阶段会确保在其他代码运行之前被初始化。对于std::mutex来说,这是最佳选择,因为它消除了...
<< 211 212 213 214 215 216 217 218 219 220 >>