知识大全 分享两条Delphi开发经验[1]
Posted 路径
篇首语:行为决定性格,性格决定命运。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 分享两条Delphi开发经验[1]相关的知识,希望对你有一定的参考价值。
经验技巧:分享两条Delphi开发经验[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
近期在做 数据库切割工具 时 碰到了一些棘手的问题 经过多方打探 查找 最终得以解决 现总结下来 给大家共享 免的大家以后在碰到类似问题时再耗费大量时间去查找 去打探!
判断输入的路径在服务器上是否存在
例如 要在客户端执行一个创建数据库的程序 数据库要在服务器上创建 但路径可以手工输入 这时就面临一个判断自已现在输入的路径在服务器上是否存在的问题 免得在执行Create Database SQL时才报错 找不到路径
具体方法如下
exec master xp_cmdshell dir E:\\DATA 在查询分析器中执行此段SQL 如果存在此路径 会输出此路径下的所有文件与文件夹信息 还有此盘的可用字节数与已此文件夹的字节数(图 所示);如果此路径不存在 则输出信息如图 所示 提示 找不到文件
但是 当路径中含有空格时 如C:\\Program Files 直接用exec master xp_cmdshell dir C:\\Program Files 系统返回结果会如跟图 显示一样 我们需要做额外处理 才能得到正确的返回结果
( )exec master xp_cmdshell dir C:\\Program Files\\Microsoft SQL Server\\MSSQL
这种写法 在查询分析器中直接执行是没有问题的 也能返回正确结果 但如果放到程序中执行
SQL Add( exec master xp_cmdshell dir C:\\Program Files\\Microsoft SQL Server\\MSSQL ) Open时就会报错 不能执行
为什么呢???
( )我们接下来查看SQL联机帮助 对XP_CMDSHELL的描述如下
xp_cmdshell mand_string [ no_output]
参数
mand_string
是在操作系统命令行解释器上执行的命令字符串 mand_string 的数据类型为 varchar( ) 或 nvarchar( ) 没有默认值 mand_string 不能包含一对以 上的双引号 如果由 mand_string 引用的文件路径或程序名称中有空格 则需要使用一对引号 如果使用嵌入空格不方便 可考虑使用 FAT 文件名作为解决办 法
no_output
是可选参数 表示执行给定的 mand_string 但不向客户端返回任何输出
帮助文件提示我们要用一对引号将文件路径或者程序名称包起来 将整个路径包不起来不会报错 那我就将带有空格的单步路径包起来试试 看看行不行 执行如下SQL SQL Add( exec master xp_cmdshell dir C:\\ Program Files \\ Microsoft SQL Server \\MSSQL ) 这样Open时果然不报错了 看来查询分析器的语法检查与我们的Query自己的语法检查还是有一定区别的 不能等同的 因此 碰到路径中带空格的情况 正确的写法还是
exec master xp_cmdshell dir C:\\ Program Files \\ Microsoft SQL Server \\MSSQL
这同时说明SQL帮助文件中的绿色字体部分 mand_string 不能包含一对以上的双引号 的描述是不正确的 看来SQL Server帮助文件与产品也出现了 规格与程序不相符 的问题了 呵呵
cha138/Article/program/Delphi/201311/24747相关参考
浅谈Delphi开发经验[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Delphi是一个
浅谈Delphi开发经验[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有经验的程序员完成
Delphi开发经验四则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 配置数据引擎(BDESQ
用Delphi开发数据库程序经验三则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建立临时表
用Delphi开发数据库程序经验三则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一建立临时表
DELPHI基础教程:Delphi自定义部件开发(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(三)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(四)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:开发Delphi对象式数据管理功能(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快