摘要:
总的考虑方向 1) 根据数据使用的方式来设计数据访问层 2) 缓存数据,避免不必要的操作 3) 使用服务帐户进行连接 4) 必要时连接,尽早释放 5) 关闭可关闭的资源 6) 减少往返 7) 仅返回需要的数据 8) 选择适当的事务类型 9) 使用存储过程 根据性能维护性、及实现难度来决定跨层数据传递的方式 2 具体实现 1)选用合适的Data Pr... 阅读全文
摘要:
ADO.NET提供了一个统一的编程模式和一组公用的类来进行任何类型的数据访问,而不管你用何种语言来开发代码。ADO.NET是全新的,但又与ADO尽可能保持一致,它使编程模式从一个客户端/服务器、基于连接的模式转变到了一个新的模式,这个新模式可以让断开的前端下载记录、离线工作、然后重新连接来提交变化。ADO.NET是WinForms应用程序、ASP.NET应用程序和Web services的一个共有... 阅读全文
摘要:
//磁盘类型 GetDriveType var Drive: Char; DriveLetter: String[4]; begin for Drive := 'A' to 'Z' do begin DriveLetter := Drive + ':\'; case GetDriveType(PChar(Drive + ':\')) of DRIVE_R... 阅读全文
摘要:
WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创... 阅读全文
摘要:
BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置 GetMessageTim... 阅读全文
摘要:
CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文... 阅读全文
摘要:
AbortDoc 取消一份文档的打印 AbortPrinter 删除与一台打印机关联在一起的缓冲文件 AddForm 为打印机的表单列表添加一个新表单 ... 阅读全文
摘要:
AddFontResource 在Windows系统中添加一种字体资源 CreateFont 用指定的属性创建一种逻辑字体 CreateFontIndirect 用指定的属... 阅读全文
摘要:
AppendMenu 在指定的菜单里添加一个菜单项 CheckMenuItem 复选或撤消复选指定的菜单条目 CheckMenuRadioItem 指定一个菜单条目被复选成... 阅读全文
摘要:
BitBlt 将一幅位图从一个设备场景复制到另一个 CopyIcon 制作指定图标或鼠标指针的一个副本。这个副本从属于发出调用的应用程序 CopyImage 复制位图、图标... 阅读全文
摘要:
AbortPath 抛弃选入指定设备场景中的所有路径。也取消目前正在进行的任何路径的创建工作 AngleArc 用一个连接弧画一条线 Arc 画一个圆弧 ... 阅读全文
摘要:
CombineRgn 将两个区域组合为一个新区域 CombineTransform 驱动世界转换。它相当于依顺序进行两次转换 CreateCompatibleDC 创建一个... 阅读全文
摘要:
ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义 Beep 用于生成简单的声音 CharToOem 将... 阅读全文
摘要:
CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作 CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用 ConnectNamedPipe... 阅读全文
摘要:
使用2.2时应该#include 而不需要#include 因为里有一段 /* * Pull in WINDOWS.H if necessary */ #ifndef _INC_WINDOWS #include #endif /* _INC_WINDOWS */ 会自动包含 你不能这样 #include #include 因为windows.h包含了winsock.h,winso... 阅读全文
摘要:
示例工程下载 在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。 众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源... 阅读全文
摘要:
1. 所有dll函数均以c方式创建(必须以extern "C"创建并调用,不论实现是.C 还是 .CPP) 2. 函数声明必须指定__decl(dllexport)关键字, 否则必须写.def文件才能生成正确的DLL及其引入库(后者在静态调用dll为必需品), 在调用函数时则无须该关键字。(因此往往以#ifdef CreateDLL __decl() #else CreateDLL 的方式来声... 阅读全文
摘要:
void main() { LARGE_INTEGER lv; // 获取每秒多少CPU Performance Tick QueryPerformanceFrequency( &lv ); // 转换为每个Tick多少秒 double secondsPerTick = 1.0 / lv.QuadPart; for ( size... 阅读全文