1

我遇到了一个问题,我有问号字符“?” 在我的 SQL 脚本中的注释中引起了问题。当我使用 Visual FoxPro SQLEXEC 函数通过 ODBC 连接运行这些语句时,这些字符被视为参数和 VFP 值提示。

使用 SQLEXEC 时,我有哪些选项可以处理注释中的问号字符?我希望我可能会在某些情况下关闭参数化,或者在将字符串作为命令传递之前如何转义这些字符。到目前为止,我还没有找到这种解决方案的任何证据,所以看起来我可能不得不删除所有不受欢迎的注释,因为它们通常是为存储过程创建语句,我们希望保留这些注释。我希望有人可能有一个比完全删除评论更令人愉快的解决方案。

4

2 回答 2

2

似乎SQLEXEC在遇到问号字符时不考虑 SQL 命令中的注释可能是一个已知问题?通常在 ODBC 中表示参数,在 VFP 中也是如此。

只是一个警告 - VFP 的解析器将捕获 SQL 字符串中的任何问号,即使它在 SQL 注释中(即在以 -- 开头的行或 /* */ 之间的括号)并且如果那里没有什么可以出错成为一个变量。如果它可以是一个变量但你没有在运行时定义它,你会得到一个丑陋的输入框来输入它。更糟糕的是,您的用户得到了它。

所以小心。——德拉甘·内德尔科维奇

于 2010-07-28T03:18:53.333 回答
1

你试过用ascii代码替换它吗?类似:'+chr(63)+'

于 2010-07-28T03:26:45.923 回答