DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection来连接到服务器,而在Delphi2010中提供了一个新的连接组件:TDSProviderConnection,可以更方便地来连接服务器.

先来学习一个简单的DataSnap:

新建一个工程,在Delphi Project中选择DataSnap Server组,然后选择其中的DataSnap Server,点击确定,然后选择缺省设置即可.系统会生成一个工程框架.其实现在你什么代码都不用写,就已经建立好了一个DataSnap的服务器,那么这个服务器可以提供什么呢?它输出了一个类,这个类只有一个方法:

function EchoString(Value: string): string;

我们来测试一下这个服务器,建立一个普通的VCL From Application,然后在窗体中放入下面控件:

一个TSQLConnection,设置其Driver为DataSnap,并且Connected置为True.因为在本机测试,所以其他参数都不需要更改.(当然,需要先运行刚才建立的服务另,要不然会报告错误)

一个TSqlServerMethod,将其SQLConnection属性设为刚才的SQLConnection,然后在ServerMethodName属性中可以选择TServerMethods1.EchoString.这时你选择Params属性,会出现两个参数:Value和ReturnParameter,前者是方法EchoString传人的参数,后者是EchoString输出的值.

OK,到这里一切都设定好了,我们一句代码都没有编写,太说不过去了,还是放个按钮,然后在里面写下这几句代码吧:

SqlServerMethod1.ParamByName('Value').AsString:='Hello,Garfield !';
SqlServerMethod1.ExecuteMethod;
ShowMessage(SqlServerMethod1.ParamByName('ReturnParameter').AsString);

运行一下客户端,可以看到一个对话框,里面显示信息:Hello,Garfield !

下次我们看看数据库怎么来连接.

转载于:https://www.cnblogs.com/GarfieldTom/archive/2010/01/11/1644120.html

Delphi2010 DataSnap 学习(一)相关推荐

  1. Delphi2010开发DataSnap服务器(一)

    今天简单的研究了一下Delphi开发DataSnap服务器,以下是简单的例子,各位见笑了. 第一步创建一个DataSnap Server 这里选择默认 选择好了以后这里生成3个文件,我将这3个文件重新 ...

  2. datasnap的客户端回传机制

    最近,学习XE6下的DataSnap回叫技术编译代码,体会如下: 第一篇 服务器与客户端回叫    从Delphi2010开始,DataSnap支持回叫(Call Back)机制.这样,在调用耗时较长 ...

  3. David I 盛大之行 --关于delphi2010

    4月15日,CodeGear的领袖人物David I拜访了盛大,并对Delphi的未来(下个版本)做了预告及展望,同时,也解答了我们压在心头多时的问题. 我在此把交流的记录发上来,让大家一起激动一下吧 ...

  4. delphi mysql 三层_Delphi XE 10 跨平台三层数据库应用 datasnap

    (1)生成DataSnap服务器的框架 初学者都是呆子,还是用向导吧,主菜单"File"->"New"->"Other-"得到& ...

  5. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  6. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  7. FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器

    文章目录 数据获取 google_images_download 的安装和使用 挂载google 个人硬盘到Google colab中 删除不能打开文件 创建ImageDataBunch 训练模型 解 ...

  8. FastAI 课程学习笔记 lesson 1:宠物图片分类

    文章目录 代码解析 神奇的"%" 导入fastAI 库 下载解压数据集 untar_data 获取帮助文档 help() ? ?? doc 设置路径 get_image_files ...

  9. 深度学习学习指南-工具篇

    colab Colab是由Google提供的云计算服务,通过它可以让开发者很方便的使用google的免费资源(CPU.GPU.TPU)来训练自己的模型. 学习经验总结 如何使用命令行? 通过!+cmd ...

最新文章

  1. Linux nethack
  2. git 添加review的相关操作
  3. Struts2一对多配置
  4. pip 不是内部或外部命令 也不是可运行的程序_QT之程序打包发布
  5. VSCode代码格式化自动换行问题
  6. 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用
  7. redis字符串匹配_Redis设计原理
  8. 基于微服务和Docker容器技术的PaaS云平台架构设计
  9. Tkinter文件夹选择路径功能+打开位置目录功能(Python3.6.X)
  10. 通过windows的超级终端连接华为交换机
  11. spp色散关系 matlab,表面等离极化激元(SPP)基本原理教案分析.ppt
  12. 台式机未插入扬声器或者耳机
  13. JAVA基础_ Scanner扫描仪
  14. Classloader整理
  15. 2022-2028年全球与中国个人冷却装置行业竞争格局与投资战略研究
  16. [C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一样?
  17. ANSYS workbench的模态分析基本原理和步骤
  18. C语言handle对象对应java,c语言和java语言之间的关系到底是怎么样的,两种 体系?还是一种体系的不同阶段?还是其它的什么?...
  19. Pycharm 远程debug项目配置
  20. 有衬线字体 无衬线字体_字体101:衬线与无衬线

热门文章

  1. HoughCircles 函数
  2. MATLAB中nargin 的用法
  3. 第一章:1.2.1系统建模
  4. (二)图像处理技术概述
  5. cnblogs第一篇
  6. 设置placeholder无效解决办法
  7. JDBC-day01
  8. 转: Ubuntu 安装字体方法
  9. H5移动前端性能优化
  10. silverlight中递归构造无限级树treeview+checkbox