SQL 中转义字符串的标准函数

发布于 2024-07-17 12:59:56 字数 532 浏览 3 评论 0原文

我正在 .NET2.0 中编写一个程序,我需要在使用输入之前转义它们。 不幸的是,标准参数方法系统在我正在使用的系统中不能完全工作。 使用 ODBCCommand 类我无法放置 ? 语句的 select 部分中的参数(这是我正在做的一点点技巧所必需的)而不会出现错误,因此我需要手动转义可能包含也可能不包含单引号 (') 的字符串。 有什么建议么?

编辑-示例 SQL:

如我所愿:

INSERT INTO TABLE_A (COLUMN_A, COLUMN_B)
SELECT (?, COLUMN_C)
FROM TABLE_B
WHERE COLUMN_D = ?

现状:

INSERT INTO TABLE_A (COLUMN_A, COLUMN_B)
SELECT ('INPUT_VALUE_HERE', COLUMN_C)
FROM TABLE_B
WHERE COLUMN_D = ?

编辑:Sybase ASE 是数据库驱动程序,通过 ODBC

I'm writing a program in .NET2.0 and I need to escape the inputs before using them. Unfortunately the standard parameter method system does not fully work in the system I'm using. Using the ODBCCommand class I cannot place a ? parameter in the select part of the statement (which is required for the little bit of trickiness I'm doing) without getting an error, so I need to manually escape strings that may or may not contain a single quote ('). Any suggestions?

Edit- Example SQL:

As I would like it:

INSERT INTO TABLE_A (COLUMN_A, COLUMN_B)
SELECT (?, COLUMN_C)
FROM TABLE_B
WHERE COLUMN_D = ?

As it is:

INSERT INTO TABLE_A (COLUMN_A, COLUMN_B)
SELECT ('INPUT_VALUE_HERE', COLUMN_C)
FROM TABLE_B
WHERE COLUMN_D = ?

Edit: Sybase ASE is the DB driver, through ODBC

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟柳画桥 2024-07-24 12:59:57
Dim s As String = "Michael O'Flatley"
Dim escapedString as String = s.Replace("'", "''")
Dim s As String = "Michael O'Flatley"
Dim escapedString as String = s.Replace("'", "''")
花落人断肠 2024-07-24 12:59:57

您可以使用此扩展函数解析字符串参数

public static string SqlEncode(string str)
{
    if (str == null) return String.Empty;
    return str.Replace("'","''");
}

You can parse your string parameters with this extension function

public static string SqlEncode(string str)
{
    if (str == null) return String.Empty;
    return str.Replace("'","''");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文