摘要: MFC消息循环MFC应用程序中处理消息的顺序1.AfxWndProc()该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc。2.AfxCallWndProc()该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数。3.WindowProc()该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数。4.OnWndMsg()该函数的功能首先按字节对消息进行排序,对于WM_COMMAND消息,调用OnCommand()消息响应函数,对于WM_NOTIFY消息调 阅读全文
posted @ 2013-11-30 22:36 DageKing 阅读(1230) 评论(0) 推荐(1) 编辑
摘要: 无法解析的外部符号 _WinMain@16Ctrl+F7 编译的时候没有错误,而F6生成解决方案的时候出现如下两个错误:1:error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 MSVCRTD.lib2: error LNK1120: 1 个无法解析的外部命令出这个错误可能有以下几个原因:一、新建项目是控制台应用程序而程序通过的是WinMian(及windows入口函数)因为新建项目的时候选择的是控制台应用程序,控制台应用程序的入口是main。而在.CPP文件中提供的是windows入口函数WinMian。解决办 阅读全文
posted @ 2013-11-30 14:32 DageKing 阅读(1661) 评论(0) 推荐(3) 编辑
摘要: 中文显示为乱码临时解决方案:在 CMD 中运行 chcp 936。永久解决方案:打开不正常的 CMD 或命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,打开如下图的对话框。单击第一个“选项”选项卡,将默认的代码页改为 936 后重启 CMD。附:如果改了以后无法生效,窗口的“默认值”和“属性”没变,进入注册表,在 HKEY_CURRENT_USER 下找到 console 项下的 Console 以及其下可能有的 %SystemRoot%_system32_cmd.exe(这个 %SystemRoot%_system32_cmd.exe 下有的 codepage 话就改, 阅读全文
posted @ 2013-11-27 10:29 DageKing 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 都知道在写DLL的时候,使用模块定义文件(.def)可以防止DLL里的命名变更。vc6.0中只要在当前目录下添加.def文件,然后编译就Ok了但在vs2010里这样做是不可以的,必须在项目--属性--连接器--输入---模块定义文件中添加指定文件.def创建方法,新建个文档,修改后缀为.def,添加到工程中来,编写:关于EXPORTS可查msdn 阅读全文
posted @ 2013-10-17 20:02 DageKing 阅读(1586) 评论(0) 推荐(0) 编辑
摘要: 经常使用VC6的Dependency查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导致不同的原因大多是和编译DLL时候指定DLL导出函数的界定符有关系。VC++支持两种语言:即C/C++,这也是造成DLL导出函数差异的根源我们用VS2008新建个DLL工程,工程名为“TestDLL”把默认的源文件后缀 .CPP改为.C(C文件)输入测试代码如下:int _stdcall MyFunction(int iVariant){ return 0;}为了导出上面这个函数,我们有以下几个方法:1. 使用传统的模块定义文件 (.def)新建一个 后缀为.def的文本文件(这里建一个. 阅读全文
posted @ 2013-10-17 19:55 DageKing 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 对于消息映射宏,不用多说了,用过 MFC 的人都很清楚。但目前有不少程序由于各种原因并没有使用 MFC,所以本帖讨论一下如何在 Win32 程序中实现类似MFC的消息映射宏。其实 Windows 的头文件 “WindowsX.h”(注意:不是“Windows.h”) 中提供了一些有用的宏来帮助我们实现消息映射。本座是也基于这个头文件实现消息映射,首先看看宏定义文件:#pragma once#include /************************************************************************//* ... 阅读全文
posted @ 2013-10-14 15:10 DageKing 阅读(609) 评论(0) 推荐(1) 编辑
摘要: 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用假如我们需要确定谁占用了我们的9050端口1、Windows平台在windows命令行窗口下执行:1.查看所有的端口占用情况C:\>netstat -ano 协议 本地地址 外部地址 阅读全文
posted @ 2013-10-13 21:05 DageKing 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1、打开tinyxml工程。打开项目属性,将“配置属性-->C/C++-->代码生成-->运行时库”设置为“多线程调试DLL(/MDd)”(因为新工程的设置是这样子)。重新编译tinyxml工程得到tinyxml.lib,拷贝到VS2005的VC的lib文件下。2、打开项目属性,在“配置属性-->链接器-->命令运”的“附加选项”把tinyxml.lib加上去。3、仍有"LIBCMT"冲突错误存在,在“配置属性-->链接器-->输入-->忽略特定库”中把libcmt.lib添加进去或者在“配置属性-->链接器--> 阅读全文
posted @ 2013-10-13 20:39 DageKing 阅读(1324) 评论(0) 推荐(0) 编辑
摘要: 您试图与不兼容的库链接。重要事项 运行时库现在包含防止混合不同类型的指令。如果试图在同一个程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此警告。例如,如果编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),并试图链接它们,则将得到此警告。应将所有源文件编译为使用同一个运行时库。有关更多信息,请参阅使用运行时库(/MD、/ML、/MT、/LD)编译器选项。可以使用链接器的 /VERBOSE:LIB 开关来确定链接器搜索的库。如果收到LNK4098,并想创建使用如单线程、非调试运行时库的可执行文件,请使用 /VERBO 阅读全文
posted @ 2013-10-13 20:37 DageKing 阅读(655) 评论(0) 推荐(0) 编辑
摘要: IntroductionList of some of the best Open Source projects written in VC++/MFC.BackgroundCodeproject has the best source code repository for VC++ developers. But another site Sourceforge.net also have some of the best quality projects available for VC++. Here I lists some of the best open source proj 阅读全文
posted @ 2013-10-13 14:56 DageKing 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)C 运行时库 库文件Single thread(static link) ML libc.libDebug single thread(static link) MLd libcd.libMultiThread(static link) MT libcmt.libDebug multiThread(static link) MTd libcmtd.libMultiThread(dynamic link) MD msvert.libDebug multiThread(dynamic li 阅读全文
posted @ 2013-10-13 14:45 DageKing 阅读(664) 评论(0) 推荐(0) 编辑
摘要: LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library转自:http://blog.csdn.net/pgmsoul/article/details/4203941以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,否则就会有相应的提示,甚至可 阅读全文
posted @ 2013-10-12 12:32 DageKing 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 用源代码管理项目,是为了方便开发和管理组内项目,一个组做的是同一套项目,彼此知道各个模块的进度和开发情况,这也是开发项目所需要的。今天整理了VSS的安装、创建、连接及添加项目等操作。一、安装VSS(Visual SourceSafe)下载安装(略).....二、建VSS打开安装好的VSS,点击Browser,在新窗口中点击Add,则进入添加VSS的向导,点击Next,选择第二个“Create a new database”,next,再在Location里Browser你要放的此次建的VSS地址(比如:D盘某个目录),再next,输入你想命的名(比如:myVss),next,选择第一个“Loc 阅读全文
posted @ 2013-07-24 16:35 DageKing 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"解决方法:1.打开该项目的“属性页”对话框。2.单击“链接器”文件夹。3.单击“命令行”属性页。4.将/SAFESEH:NO键入“附加选项”框中,然后点击应用。 阅读全文
posted @ 2013-07-14 19:22 DageKing 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/lichen396116416/archive/2012/11/22/2782482.htmlVS2012中对C#的支持度非常好,不管是编写方便程度(不需要插件就能高亮代码及代码自动提示功能),还对MFC的一些功能优化很多。 我们可以修改两个工程文件来把VS2012的工程文件一直到VS2010中去。 首先当然是修改解决方案文件(.sln文件)。 使用记事本打开,把里面的Microsoft Visual Studio Solution File, Format Version 12.00# Visual Studio 2012改成Microso 阅读全文
posted @ 2013-07-12 13:12 DageKing 阅读(343) 评论(0) 推荐(0) 编辑
摘要: C++代码规范之命名一、命名的两个基本原则1、含义清晰,不易混淆;2、不和其它模块、系统API的命名空间相冲突。二、命名通则1、在所有命名中,都应使用标准的英文单词或缩写;不得使用拼音或拼音缩写,除非该名字描述的是文特有的内容(如半角、全角、声母、韵母等);除非必要,不要用数字或较奇怪的字符来定义标识符。2、所有命名都应遵循达意原则,即名称应含义清晰、明确。3、所有命名都不易过长,应控制在规定的最大长度以内。4、所有命名都应尽量使用全称。5、命名中若使用特殊约定或缩写,则要有注释说明。6、自己特有的命名风格,要自始至终保持一致,不可来回变化。 说明:个人的命名风格,在符合所在项目组或产品组的. 阅读全文
posted @ 2013-07-11 23:32 DageKing 阅读(957) 评论(1) 推荐(0) 编辑
摘要: C++全局变量的声明和定义(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件; 第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。 那么,错误可能在两个地方产生: 一个,编译时的错误,这个主要是语法错误; 一个,链接时的错误,主要是重复定义变量等。 编译单元指在编译阶段生成的每个obj文件。 一个obj文件就是一个编译单元。 一个.cpp(.c)和它相应的.h文件共同组成了一个编译单元。 一个工程由很多编译单元组成,每个obj文件里包含了... 阅读全文
posted @ 2013-07-11 23:18 DageKing 阅读(69300) 评论(3) 推荐(4) 编辑
摘要: assert函数在看数据结构书时,看到作者常常使用这个函数,而我也觉得这个函数用起来很方便,少了不少if的判断。上网搜了一些资料,以做总结之用! assert()是一个调试程序时经常使用的宏. assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。ASSERT只有在Debug版本中才有效,如果编译为Release版本则被. 阅读全文
posted @ 2013-07-11 21:55 DageKing 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: VC++6.0远程调用Call转载:http://wodeball.blog.163.com/blog/static/69365999201242293613680/好久没来了,心情不好,又来到这熟悉又怀念的地方,伴我快一年多的地方,真的很感谢伴我渡过孤独的大半年。又看到喜欢的VC++,VC++这块一直很少有人发表,可能高手都忙吧。今天没事就发下我以前的远程调用Call。有不好的地方希望大家可以指正交流。typedef struct ParamData //参数结构 { long Param1; long Param2; DWORD Param3; DWO... 阅读全文
posted @ 2013-06-13 12:37 DageKing 阅读(1058) 评论(2) 推荐(0) 编辑
摘要: 每次看到人家的十六进制输出,对齐的很好,ff就显示了,而我的总是0xffffffff。如果是"%02x",是以0补齐2位数,如果超过2位就显示实际的数;"%hhx" 是只输出2位数,即便超了,也只显示低两位;因此有了"%02hhx"void hexdump(char *buf, int num){ int i; for(i = 0; i < num; i++) { printf("%02hhx\t", buf[i]); if ((i+1)%8 == 0) { printf("\n"); } 阅读全文
posted @ 2013-06-05 13:25 DageKing 阅读(1359) 评论(0) 推荐(0) 编辑
摘要: Windows 各种控件使用心得管理控件函数:ShowWindow()MoveWindow()CreateWindow()CreateWindowEx()系统预定义的窗口类:BUTTON 按钮控件COMBOBOX 组合框控件EDIT 编辑框控件LISTBOX 列表框控件SCROLLBAR 滚动条控件STATIC 静态控件子窗口控件通过向其父窗口发送WM_COMMAND消息进行通讯。WM_COMMAND的wParam参数包含了子窗口的标志ID,而lParam参数的低位是子窗口的句柄,高位是通知代码,通知代码将告诉父窗口用户在子窗口中所进行的操作。 《子窗口控件和相应的通知代码》按钮控件 BN_C 阅读全文
posted @ 2013-05-26 22:11 DageKing 阅读(543) 评论(0) 推荐(0) 编辑
摘要: _T() 和_L() _TEXT __T,L区别与联系详解_T("")是一个宏,他的作用是让你的程序支持Unicode编码因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNI 阅读全文
posted @ 2013-05-16 13:08 DageKing 阅读(569) 评论(0) 推荐(0) 编辑
摘要: VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”升级vs2010到vs2012,突然发现build出来的应用程序无法运行,提示“不是有效的 win32 应用程序” or “not a valid win32 application”。参考CSDN论坛中的方法,找到下面这篇文章:http://blogs.msdn.com/b/vsnetsetup/archive/2012/10/16/setup-exe-is-not-a-valid-win32-application.aspxYou wo 阅读全文
posted @ 2013-05-15 11:03 DageKing 阅读(4139) 评论(3) 推荐(0) 编辑
摘要: 10种排序算法总结排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准:(1)执行时间(2)存储空间(3)编程工作 对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。主要排序法有:一、冒泡(Bubble)排序——相邻交换二、选择排序——每次最小/大排在相应的位置三、插入排序——将下一个插入已排好的序列中四、壳(Shell)排序——缩小增量五、归并排序六、快速排序七、堆排序八、拓扑排序九、锦标赛排序十、基数排序一、冒泡(Bubble)排序void BubbleSortArray() { fo... 阅读全文
posted @ 2013-04-14 12:56 DageKing 阅读(1671) 评论(2) 推荐(6) 编辑
摘要: SQL Server 查询处理中的各个阶段(SQL执行顺序) SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有在查询中指定某一子句,将跳过相应的步骤。下面是对应用于SQL server 2000和SQL Server 2005的各个逻辑步骤的简单描述。(8)SELEC... 阅读全文
posted @ 2013-04-03 23:20 DageKing 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 自绘按钮的实现 如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一 点来说,主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和各位一起定义一个XP风格的CXPButton按钮类,目的不在于介绍CXPButton类的使用技巧,而在于向各位阐述实现 自绘按钮的方法。当然如果你觉得CXPButton有用的话,也可以把它的源文件保存下来,直接加入到自己的项目中。本篇要点:一、准备工作二、实现原理及难点三、按钮类的使用四、小结与提示五、附录一、准备工作在开始编码之前,首先应该确定好,更准确的... 阅读全文
posted @ 2013-04-01 14:00 DageKing 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 基本数据结构:链表(list) 谈到链表之前,先说一下线性表。线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表有两种存储方式,一种是顺序存储结构,另一种是链式存储结构。 顺序存储结构就是两个相邻的元素在内存中也是相邻的。这种存储方式的优点是查询的时间复杂度为O(1),通过首地址和偏移量就可以直接访问到某 元素,关于查找的适配算法很多,最快可以达到O(logn)。缺点是插入和删除的时间复杂度最坏能达到O(n),如果你在第一个位置插入一个元素,你需要 把数组的每一个元素向后移动一位.. 阅读全文
posted @ 2013-03-31 19:13 DageKing 阅读(1130) 评论(0) 推荐(0) 编辑
摘要: VC++6 实现界面使用XP风格一个小窍门可以方便的在VC6、VC2003、VC2005下实现XP风格的控件效果,而且风格随主题变化而变化,没有主题则显示为原来的风格,看效果对比图:原来的样式改变后的样式很简单,此方法SDK/MFC通用,简单的讲就是插入一个资源,类别为24,ID为1,以VC6为例,2003和05类似。在VC6资源编辑试图下点击Insert(插入),然后选择Custom(自定义),在Resource Type(资源类别)填上24,然后将新插入的资源属性改为如下在右边内资源容中输入<?xml version="1.0" encoding="UT 阅读全文
posted @ 2013-03-30 15:21 DageKing 阅读(859) 评论(0) 推荐(0) 编辑
摘要: 在SQL Server数据库中批量导入数据的四种方法在SQL Server数据库中批量导入数据的四种方法,在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。其实,在SQL Server中集成了很多成批导入数据的方法。有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟。现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些。第一:使用Select Into语句若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入。Select Into语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中 阅读全文
posted @ 2013-03-27 11:06 DageKing 阅读(792) 评论(0) 推荐(0) 编辑
摘要: SQL查询优化很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:select * from table1 where name='zhangsan' and tID > 10000和执行:select * from table1 where tID > 10000 and name='zhangsan'一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了 阅读全文
posted @ 2013-03-27 10:57 DageKing 阅读(598) 评论(1) 推荐(0) 编辑
摘要: 数据库中两张表之间的数据同步增加、删除与更新分别创建增加、删除、更新的触发器(Trigger)来达到两张表之间数据同步的目的。1:数据同步增加:如有两张表——A表和B表,创建触发器使当A表插入数据后B表也同步插入数据。其中B表插入数据的字段需要同A表中的字段相对应。CREATE TRIGGER 触发器名称 ON A表AFTER INSERT AS BEGIN INSERT INTO B表(B表字段1,B表字段2,B表字段3)SELECT A表字段1,A表字段2,A表字段3 FROM INSERTEDEND2.数据同步删除:如有两张表——A表和B表,创建触发器使当A表删除数据后B表也同步删除数据 阅读全文
posted @ 2013-03-27 10:44 DageKing 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 一个完整的SQL SERVER数据库全文索引的示例SQL SERVER数据库全文索引的示例,以pubs数据库为例。首先,介绍利用系统存储过程创建全文索引的具体步骤: 1) 启动数据库的全文处理功能 (sp_fulltext_database) 2) 建立全文目录 (sp_fulltext_catalog) 3) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4) 指出表中需要全文索引的列名 (sp_fulltext_column) 5) 为表创建全文索引 (sp_fulltext_table) 6) 填充全文目录 (sp_fulltext_catalog) ---- 阅读全文
posted @ 2013-03-27 10:41 DageKing 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 关于数据库优化问题收集 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面将从这三个方面分别进行总结:为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为(< 1秒)。----测试环境:主机:HP LH II----主频:330MHZ 阅读全文
posted @ 2013-03-27 10:24 DageKing 阅读(241) 评论(0) 推荐(1) 编辑
摘要: SQL Server游标的使用游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量…… 从游标对数据库的读取方式来说,不难看出游标为什么占用更多的资源,打个比方:当你从ATM取钱的时候,是一次取1000效率更高呢,还是取10次100?既然游标这么“邪 阅读全文
posted @ 2013-03-27 10:17 DageKing 阅读(360) 评论(0) 推荐(0) 编辑
摘要: SQL函数说明大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果。这些要求包括:执行计算与数学运算、转换数据、解析数值、组合值和聚合一个范围内的值等。下表给出了T-SQL函数的类别和描述。函数类别作用聚合函数执行的操作是将多个值合并为一个值。例如COUNT、SUM、MIN和MAX。配置函数是一种标量函数,可返回有关配置设置的信息。转换函数将值从一种数据类型转换为另一种。加密函数支持加密、解密、数字签名和数字签名验证。游标函数返回有关游标状态的信息。日期和时间函数可以更改日期和时间的值。数学函数执行三角、几何和其他数字运算。元数据函数返回数据库和数据库对象的属. 阅读全文
posted @ 2013-03-27 10:06 DageKing 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 发布的程序在没有装VS的电脑运行出错的可能原因 很多读者可能会遇到这样的问题,在 Visual Studi0 2005 专业版中建立了“Win32控制台应用程序”或“Win32 项目”,但是使用默认设置编译完成的“发布”版本在没有安装 Visual Studi0 2005 的操作系统上运行对却会报错。下面解答这个问题:查看工程属性,在“C/C++”子选项下的“代码生成”选项页中,“运行时库”选项下,/MD( Release)选项或/MDd( Debug)选项。使用这两个选项编程,将会调用一些系统中原本并不存在的接口。要解决这个问题需将选项改为/MT。如果读者新建 C/C++项目时选择“常规”. 阅读全文
posted @ 2013-03-26 09:48 DageKing 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 提高SQL查询效率转载:http://panyi5202.iteye.com/blog/6124141.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放 阅读全文
posted @ 2013-03-24 20:18 DageKing 阅读(624) 评论(2) 推荐(1) 编辑
摘要: QT+C++实现连连看需求简单分析。 玩过连连看的都知道,连连看其实就是测试能不能用少于等于3条相连的线,连接两个点(图片)。线的条数为0~3条。 先只实现了逻辑,并做了智能测试,程序自己可以演示玩连连看的过程,界面还没有做,准备用QT(不熟),源码下载 0条线表示两个点相邻,在坐标轴上看就是X轴相同,Y轴值相差1,或是Y轴相同X轴值相差1。 1条线表示两个点同X或是同Y轴,且两点之间没有其他点。 2条线表示两个点确定的长方形,存在连接两个点的两边上都没有其他任何点 3条线复杂点,经过反复的思考,决定将3条线的情况分成5类:上下左右中(东南西北中)。这样的分类主要是想让代码更好理解... 阅读全文
posted @ 2013-03-24 19:41 DageKing 阅读(850) 评论(0) 推荐(1) 编辑
摘要: VC控件用法总结之List Control1.新建对话框MFC,在对话框上放一个ListCtrlID:IDC_PATHView:Report2.为ListCtrl添加变量右击->添加变量m_wndPath3.找到OnInitDialog()函数添加如下代码:// TODO: 在此添加额外的初始化代码m_wndPath.DeleteAllItems();//清空m_wndPath.InsertColumn(0,_T("项目"));//添加列m_wndPath.InsertColumn(1,_T("所在路径"));m_wndPath.SetColumn 阅读全文
posted @ 2013-03-24 18:51 DageKing 阅读(612) 评论(0) 推荐(0) 编辑
摘要: MFC消息机制MFC消息机制涉及许多知识,比如消息分类,消息映射等。知识先了解一下,马上动手实践才是硬道理。我建了个SDI项目,把常用的消息试验了一遍。如果像我一样初学的,可以留下邮箱索取源码。// MainFrm.hafx_msg void OnMenuMsg(); // 菜单命令消息afx_msg void OnMenuItem(UINT uId); // 范围消息,不限菜单afx_msg void OnMenuItemUI(CCmdUI *pCmdUI); // 命令消息接口afx_msg void OnToolMsg(); // 工具条命令消息afx_msg LRESULT OnUse 阅读全文
posted @ 2013-03-24 17:44 DageKing 阅读(1716) 评论(7) 推荐(3) 编辑