`

看你知道不知道之-Call转义序列

阅读更多

今天在整理代码的时候,需要修改一个函数,使这个函数可以通过ADO的Command对象的CommandText的文本内容来判断,对象是否已经加载成功

,以避免重复的参数加载。

这个函数需要通过CommandText的字符串比较来判断,但是在测试的时候,发现了一个有趣的问题如果在调用存储过程的时候,CommandText并

不听话,而是返回类似于{? = CALL procname (?,?)},格式的内容,这到底是什么呢?

查找MSDN得到如下内容:

当 SQL 语句使用 ODBC CALL 转义子句调用存储过程时,Microsoft® SQL Server™ 驱动程序会使用远程存储过程调用 (RPC) 机制将此过程发

送给 SQL Server。RPC 请求回避 SQL Server 中的许多语句分析和参数处理,因此比使用 Transact-SQL EXECUTE 语句的速度要快。

构造一个使用 ODBC CALL 转义序列的 SQL 语句。该语句对每个输入、输入/输出和输出参数使用参数标记,对过程使用返回值(若有):
{? = CALL procname (?,?)}

原来利用Command调用存储过程当中,自动进行了转义,因此,不要通过CommandText的内容来做逻辑判

分享到:
评论

相关推荐

    Java调用SQL Server的存储过程详解

     使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列。不带参数的 call 转义序列的语法如下所示: {call procedure-name}  作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中...

    grub4dos-V0.4.6a-2017-02-04更新

    作用之二,直接作为菜单的背景(即不加载图像背景)。此时只设置字体的前景色即可。 2.增加动画菜单。 splashimage --animated=[type]=[delay]=[last_num]=[x]=[y] START_FILE 类型[type]:bit 0-3: 播放次数 bit...

    remote-copy.vim:通过OSC 52从Vim复制文本

    它取决于OSC52转义序列。 与其他OSC52 Vim脚本(例如)不同,它解决了复制文本时出现的Flash问题。 要求 Vim 7.3或更高版本。 Python3 +。 支持OSC52转义序列的终端。 安装 您可以通过Vim插件管理器安装此插件。 ...

    C++MFC教程

    3、未处理的消息到那里去了:M$为窗口编写了默认的窗口过程,这个窗口过程将负责处理那些你不处理消息。正因为有了这个默认窗口过程我们才可以利用Windows的窗口进行开发而不必过多关注窗口各种消息的处理。例如窗口...

    ArgSplitter:小型.NET库,用于将字符串拆分为命令行args

    ArgSplitter是一个小型的.NET Standard 2.0兼容库,可以考虑转义序列和引号,将字符串拆分为命令行args 用法 ArgSplitter扩展了字符串类型,并添加了方法SplitArgs 。 // Input string: arg1 arg2 "arg3 arg3 arg3...

    整理后java开发全套达内学习笔记(含练习)

    System.out.printf() 可插入带 % 的输入类型,前两种只可以插入转义符, 不能插入 % 的数据或字符串 在 printf 里面,输出有5个部分 %[argument_index$][flags][width][.precision]conversion 以“%”开头,[第几个...

    python入门到高级全栈工程师培训 第3期 附课件代码

    01 re模块之转义字符 02 re模块之分组 03 re模块之方法 04 re模块总结 05 logging模块 06 re模块补充 07 configparse模块 08 hashlib模块 09 计算器作业以及思路 10 模块导入补充 第24章 01 面向对象设计 02 类...

    批处理实用教程

    13、CALL 调用批处理程序或命令并等待其执行完毕 14、shift 15、IF 16、setlocal 与 变量延迟 17、ATTRIB 显示或更改文件属性 18、findstr 在文件中搜索字符串(find增强版) 19、date /t 和 time /t 第二节...

    PHP和MySQL Web开发第4版pdf以及源码

    2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8...

    PHP和MySQL Web开发第4版

    2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8...

    PHP和MySQL WEB开发(第4版)

    2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用...

Global site tag (gtag.js) - Google Analytics