- 博客(56)
- 资源 (5)
- 收藏
- 关注
原创 QT下链接SQLServer2012数据库异常处理记录
问题描述: 多线程程序中创建数据库实例后,链接数据库正常,但接着使用该实例执行sql语句时发现链接断开,数据库处于关闭状态尝试解决方法: 1. 单线程程序,使用QT新建demo进行测试,模拟上述现象恢复现场,发现并不存在在上述现象。 由此可以排除程序问题 2. 更换数据库,使用mysql进行重新连接,连接正常,并不存在上述现象,排除程序逻辑异常的可能性 3. 本机
2017-09-28 11:21:25
860
转载 异地多个局域网间实现直接访问,不同局域网互访
转载自: http://blog.sina.com.cn/s/blog_9ab6cd310102wmba.html1、介绍很多公司拥有许多分公司,有各自的网络,在实际工作中需要数据交换,搭建专用服务器成本高,还需要专人维护,造成不小的困扰,本文就是解决此类问题。需要用到2个工具,一个是OpenVPN 另一个是苹果茶服务 www.aptea.cnOpenVPN的功
2016-07-20 15:35:24
21739
转载 C#:OleDbDataAdapter 进行增,删,改,查操作
【转载】C#:OleDbDataAdapter OleDbDataAdapter 充当 DataSet 和数据源之间的桥梁,用于检索和保存数据。OleDbDataAdapter 通过以下方法提供这个桥接器:使用 Fill 将数据从数据源加载到 DataSet 中,并使用 Update 将 DataSet 中所作的更改发回数据源。 当 OleD
2016-04-15 14:40:30
13166
原创 SQL 内/外连接 示意图
A = A1 + CB = B1+C1. 内连接C = A∩B,查询结果为AB的公共部分2.外连接左外连接: A1 + C 及查询结果为A右外链接: C+B1 及B
2016-03-22 09:45:10
1160
原创 虚析构函数作用
将基类的析构函数定义为虚函数,避免程序退出在销毁资源时只对子类的析构函数进行了调用,而没有对基类的析构函数进行调用,从而引起漏掉资源的释放
2016-03-18 16:10:45
387
原创 vc 关闭程序后任务管理器进程中进程仍然存在的解决方法
可以从以下几个方面进行查找!1. 程序开启了进程,进程中使用了while(1),在程序退出时未能关闭该线程方法: 在主进程类的析构函数结束该线程2. 程序的消息队列未销毁引起使用了GetMessage创建了消息队列,但在程序退出时没有及时处理完消息解决方法: 将 GetMessage 的最后一个参数设置为PM_REMOVE,即每次处理完消息队列中的消息后即刻从消息队列中
2016-03-05 15:49:19
7569
原创 使用PostThreadMessage向发送线程消息失败的解决方法
问题描述:PostThreadMessage 可用于线程间的信息交互。 在使用CreateThread 创建消息后,向已创建的线程发送消息时,线程中的GetMessage()无法接收到线程。 GetMessage是一个消息阻塞函数,当线程队列中没有消息时该函数始终处于阻塞的状态,直到有新的消息到来。 刚创建完线程后, 该线程的 消息队列还未创建,必须使用GetMessage等函数运行后消息队列
2015-07-28 19:43:52
4812
原创 c++ 中关于static 关键字几点小结
static 的功能总结起来就2种主要功能: 1. 声明变量的生命周期2. 限制变量的作用域一. 变量的生命周期staic 变量可以在做为函数的局部变量使用,也可以做为全局函数使用,在编译时由编译器在静态存储区分配存储空间,起声明生命周期在整个主程序的运行期间都存在,在程序退出时进行销毁。 即当staic 做为被调函数的局部变量时,在被调函数退出时改变量依然存在。
2015-07-15 15:39:31
488
转载 函数参数的传递问题(一级指针和二级指针)
转载: http://blog.chinaunix.net/uid-20361370-id-1962457.html 程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 { s=(char *) malloc(100); } void main() {
2015-07-15 15:19:59
762
转载 宏、函数、宏函数的区别
http://hi.baidu.com/pobenliu/blog/item/3e458208279486a32fddd43f.html宏、函数、宏函数的区别先说宏和函数的区别:1. 宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型.2. 宏的参数替换是不经计算而直接
2015-07-15 10:47:55
3368
转载 InnstallShiled 内部函数库(Simplified-Chinese)
转发: http://blog.youkuaiyun.com/dy_paradise/article/details/8234666 1 库函数综述InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件及其它更多工作。因为InstallShield脚本编译器已经识别这些库函数名,所以用户在使用它们之前无
2015-07-10 16:26:21
849
转载 InstallShield自定义安装界面
转自: http://blog.youkuaiyun.com/dy_paradise/article/details/8234651前言:对于一些InstallShield用户或企业,对于安装包界面除了采用默认的安装对话框外,有时可能会需要利用安装界面这个平台进行产品或企业形象宣传,自定义安装对话框。下面将就此需求展示如何在InstallScript,Basic MSI或InstallScript M
2015-07-10 16:21:09
1724
转载 未来五年程序员应当具备的十项技能
转载自: http://blog.youkuaiyun.com/huangxinfeng/article/details/4866527 作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习。近日,著名IT评论员Justin James在他的博客中列出了未来五年程序员应当具备的十项技能,如果照此实践,你未来的工作前景一定
2015-07-10 16:01:45
438
转载 Operator 主要用法
来自: http://blog.sina.com.cn/s/blog_507fc2360100cswi.html推荐浅叙operator 的主要用法operator 的主要用法 (2009-04-20 21:47:49)转载▼标签: operator 用法 类型转换 运算符 c it 推荐浅叙operator 的主要用法1. operator 用于类型
2015-07-09 14:21:41
1240
转载 pragma comment的使用(转)
转自: http://blog.youkuaiyun.com/witch_soya/article/details/7645493#pragma 的使用尽管 C 和 C++ 都已经有标准,但是几乎每个编译器 (广义,包含连接器等) 扩展一些 C/C++ 关键字。合理地应用这些关键字,有时候能使我们的工作非常方便。下面随便说说 Visual C++ 中 #pragma指示符的使用。一
2015-07-09 10:31:58
724
原创 对话框程序SW_HIDE 和 SW_MINIMIZE 区别
在有托盘(tray)的对话框程序中,当点击关闭按钮后,在任务的状态取决于ShowWindow 使用的参数: 1. SW_HIDE这时在任务栏中不会显示对话框最小化的图标,点击托盘按钮后对话框会再次弹出2. SW_MINIMIZE 在任务栏仍可以看到最小化的图标 两个参数使用后共同特点是程序仍然在运行,对话框资源依然存在..
2015-07-09 09:46:46
4591
原创 生成静态库以及在其它工程中的使用
步骤如下:1 . 创建静态库工程,添加需要的.h及.cpp 文件,编译生成Lib文件2. 将.h 文件和lib 文件拷贝到要用到的新工程目录下,包含(#include)相应的头文件, 引用静态库(#pramga cpmment (lib,"li.lib"),或在系统设置中添加需要引用的库),这样就可以直接使用静态库 中的所有资源了(相当于将这些资源全部拷贝到当前目录下
2015-07-09 09:23:37
658
转载 /subsystem:windows 与 /subsystem:console 说明
转自: http://pengranxiang.iteye.com/blog/767897操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相 同。 在VC++下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用你自
2015-07-06 19:36:26
4543
转载 programes fiels 和 programs fiels (x86) 区别
简单来说:Program Files (x86)存放了一些32位的系统文件。它和正常的Program Files以及Windows文件夹一样,都属于系统文件夹,请勿随意改动。64位Windows中提供了一种技术,Windows on Windows 64(即WoW64)。它可以使32位的应用程序正常地运行在64位的Windows中,这样用户在从32位到64位过渡的过程中,不会感受到很大的不
2015-06-29 09:50:35
1983
原创 关于如何生成32位/64位程序的问题
生成32位/64位程序不是由所在操作系统的位数决定的(意思是在32位系统下生成的不一定是32位,同理在64位下生成的也不一定是64位),这主要由编译器的位数决定的。 要生成32位/64位的程序需要在编译环境中选择相应的编译器(32位/64位)即可。 这里以vs2008 (生成64位程序)为例: 在解决方案中打开配置管理器,点击选择新建解决方案平台,选择x64平台,编译生成就可以了。 如果没
2015-06-25 11:06:59
3760
1
原创 静态局部变量的说明
对静态局部变量的说明: (1) 静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间(而不是静态存储区空间),函数调用结束后即释放。 (2) 为静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的 值。而为自动变量赋初值,
2015-06-19 10:20:19
2386
原创 格式化字符串的使用
MSDN上的定义:TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined_stprintf_s sprintf_s
2015-06-19 10:09:53
427
转载 指针用作传出参数时,需要二级指针
转自: http://blog.youkuaiyun.com/david_xtd/article/details/7175962要点:1. 参数传递的原则是:形参传给实参,不能反向传递;2. 一级指针可以在函数内部修改形参指针指向的内容;如:[cpp] view plaincopyprint?void fun(char *p)
2015-06-19 09:48:56
571
转载 MD5
from: http://blog.youkuaiyun.com/ewangsoft/article/details/9609801.来历MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,
2015-06-18 11:42:58
464
转载 32位与64位下各类型长度对比
64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项。1. 32 位和 64 位C数据类型32和64位C语言内置数据类型,如下表所示:上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型
2015-06-17 20:08:49
527
转载 当一个窗口关闭时WM_CLOSE,WM_DESTROY,WM_QUIT
当一个窗口关闭时WM_CLOSE,WM_DESTROY,WM_QUIT 转载▼ 一般是响应WM_CLOSE,调用DestroyWindow()DestroyWindow()又发送WM_DESTROY响应WM_DESTROY,调用WM_QUITGetMessage()发现WM_QUIT,退出程序 有三个消息看起来差不多,都
2015-06-16 13:42:35
11050
转载 在无法判断ANSI还是UICODE编码方式下的字符函数的使用
0. 字符变量定义 TCHAR 类型兼容ANSI 和UNICODE1. 字符长度获取: lstrlen (兼容ANSI和UICODE)2. 字符拷贝函数: lstrcpy 是windows API 函数其他的都是C库函数,既能作用于ASCII又能用于UNICODE(.....待续)使用以上函数可以避免在无法获取编码方式的情况下字符操作异常的出现,同时在使用WINDWOS
2015-06-12 11:06:17
499
原创 关于渐变窗口的右下角显示问题
两种方法: 1) 使用 windows api 函数 AnimateWindow,使用简单,但函数使用的条件比较苛刻,成功率不高2) 自定义方法:使用TIMER 进行渐变显示 在父窗口设置计时器,启用窗口显示模式在子窗口相应函数中设置窗口位置,按照频率进行窗口的按时显示。 当窗口完全显示后,kill 掉该timer,启用计时器B,在ns后向窗口发送WM_DESTROY
2015-06-11 21:49:35
541
原创 关于分层窗口文字输出透明的处理方法
问题描述 ----- 在使用GDI+ DrawString() 在界面上绘制文字时, 由于窗口属性为WS_EX_LAYERED,在使用GDI 的DrawText 方法绘制文字时,由于函数执行完成时,会将背景设置为透明效果,因此文字也无法正常显示。 因此使用GDI+的DrawString 方法可以避免这种情况。 但在输出“Arial”字体时,当FONT SIZE 解决方法: 1) 更换字
2015-06-11 20:34:26
885
转载 文本文件和二进制文件的区别
from: http://www.cnblogs.com/zhangjiankun/archive/2011/11/27/2265184.html 一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。简单来说,文本文件是基于字符编码的文件,常见的编码有ASCI
2013-10-17 11:17:41
687
转载 常见的四种网络编程方式
1.ISAPI编程ISAPI(即Internet Server Application Program Interface),是微软提供的一套面向Internet 服务的API接口,它能实现CGI(Common Gateway Interface,公共网关接口)能提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI的工作原理和CGI大体上是相同的,都是通过交互式主
2013-10-15 14:05:16
1372
转载 PreTranslateMessage作用和使用方法
PreTranslateMessage作用和使用方法 PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数
2013-10-14 09:22:45
537
原创 BYTE类型的使用
BYTE类型的使用: BYTE在VC的定义为Unsingned char,在语义上九可以理解为单个字符类型,而在实际应用中BYTE泽多应用在数据类型的使用上,如16进制数组(用于表示数据流),在本次使用的IP地址控件中用于表示Ip地址栏的四个IP地址值,这样就会与其本来的定义似乎有冲突。通过断点运行发现,系统对BYTE类型的处理是这样的: 当输入数字类型的BYT
2013-10-11 13:35:57
5651
转载 warning LNK4089: all references to "USER32.dll" /"ole32.dll" discarded by /OPT:REF
warning LNK4089: all references to "USER32.dll" discarded by /OPT:REF开发平台:VC出现错误:warning LNK4089: all references to "USER32.dll" discarded by /OPT:REF。错误原因:由于打开了优化选项,而且程序中包含或加入了USER32.dll/ o
2013-09-29 09:19:54
1175
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人