【XE5-IndyDB -2】 IndyDB 服务器
来源:互联网 发布:playclubsaber捏脸数据 编辑:程序博客网 时间:2024/04/28 05:57
本次提供的服务器是测试版本(win32),文件名是:IndyDBServer.exe
配置完成后,请点击【启动】。
1、目标数据库连接字符串:必须配置,请点击后面的按钮进行配置。
2、用户认证库:可选择的,是一个DLL文件。
如果未选择,用户登录总是成功的,修改口令总是失败的。
如果要选择,这个用户认证库应该这样写:
#include <vcl.h>#include <windows.h>#include <System.Classes.hpp>#include <Data.DB.hpp>#include <Data.Win.ADODB.hpp>#pragma hdrstop//---------------------------------------------------------------------------extern "C" __declspec(dllexport)BOOL __stdcall TCPDB_LoginVerify(TADOQuery * AQuery,TParams * AParams, TGetStrProc ACollback);extern "C" __declspec(dllexport)BOOL __stdcall TCPDB_ChangePassword(TADOQuery * AQuery,TParams * AParams, String AAskUser, TGetStrProc ACollback);//---------------------------------------------------------------------------#pragma argsused//---------------------------------------------------------------------------int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved){return 1;}//---------------------------------------------------------------------------BOOL __stdcall TCPDB_LoginVerify(TADOQuery * AQuery, TParams * AParams, TGetStrProc ACollback){BOOL AStatus = false;String AMessage;String AToken = AParams->ParamValues["Token"];String AUsername = AParams->ParamValues["Username"];String APassword = AParams->ParamValues["Password"];try{try{AQuery->SQL->Clear();//============================// 在这里写上用户登录查询语句。//============================AQuery->Open();if (!AQuery->Eof){//============================// 在这里写上用户登录验证。// 别忘记登录成功时,设 AStatus = true;//============================}else AMessage = "登录名不存在!";}__finally{AQuery->Close();}}catch ( Exception &E ){AMessage = "ERROR : " + E.Message;}catch (...){AMessage = "ERROR : Unknown";}if (ACollback)if (AMessage.Length())ACollback(AMessage);return AStatus;}//---------------------------------------------------------------------------BOOL __stdcall TCPDB_ChangePassword(TADOQuery * AQuery, TParams * AParams,String AAskUser, TGetStrProc ACollback){BOOL AStatus = false;String AMessage;String AToken = AParams->ParamValues["Token"];String AUsername = AParams->ParamValues["Username"];String APassword = AParams->ParamValues["Password"];//============================// 在这里写上用户登录查询语句。// AAskUser 是当前请求修改 AUsername 口令的用户,可能是他本人,也可能是他的管理员。// APassword 是新口令。//============================try{try{AQuery->SQL->Clear();//============================// 在这里写上用户名查询语句。//============================AQuery->Open();if (!AQuery->Eof){//============================// 在这里写上检查用户登录验证。// 别忘记修改成功时,设 AStatus = true;//============================}else AMessage = "用户名不存在!";}__finally{AQuery->Close();}}catch ( Exception &E ){AMessage = "ERROR : " + E.Message;}catch (...){AMessage = "ERROR : Unknown";}if (ACollback)if (AMessage.Length())ACollback(AMessage);return AStatus;}//---------------------------------------------------------------------------
自动开启端口服务:当启动了端口后,会将配置参数保存到同一路径下的 IndyDBServer.ini 文件中。
当再次打开窗口时,会调用这些已经配置的参数,当此选项选中时,立刻启动端口服务。
- 【XE5-IndyDB -2】 IndyDB 服务器
- 【XE5-IndyDB -1】什么是 IndyDB 组件
- 【XE5-IndyDB -3】 TIdDBConnection 组件
- 【XE5-IndyDB -6】 TIdDBQuery 组件
- 【XE5-IndyDB -7】 TIdMemDataSet 组件
- 【IndyDB -4】 TIdCustomDataSet 类
- 【IndyDB -5】 TIdField 类
- DELPHI XE5开发WEB服务器及安卓手机客户端
- Delphi XE5,C++ Builder XE5,RAD Studio XE5 v19.0.14356.6604(With Update 2) 官方下载激活
- 如何解析DELPHI XE5服务器返回的JSON数据(翻译)及中文乱码
- 编译Invalid GBK character "\xE5" on line 2
- delphi XE5
- XE5技巧
- XE5 FTPSERVER
- xe5 JSON
- XE5手势
- xe5 快捷键
- XE5 xml
- 黑马程序员——浅谈java中的包
- 二叉树学习笔记
- InterlockedIncrement函数详解
- java抽象类和接口
- 数据结构.栈(C语言实现)
- 【XE5-IndyDB -2】 IndyDB 服务器
- UVa 10879 Code Refactoring (因数分解)
- C语言存储类总结
- 数据结构.循环队列(C语言实现)
- hibernate之session实例的创建
- 华为销售服务--面试经验(长沙地区)
- 数据结构.队列(C语言实现)
- java内部类
- 编程之美2:精确表达浮点数