如何删除带有符号的文件(特别是撇号)

Posted

技术标签:

【中文标题】如何删除带有符号的文件(特别是撇号)【英文标题】:how to delete a file with symbols (Specifically the apostrophe) 【发布时间】:2015-06-02 18:51:03 【问题描述】:

我有一个存储团队的数据库。这些团队名称中的每一个都是独一无二的。如果其中一个被命名为 Bob 的团队。当通过查询字符串将符号发送到下一个文件时,我已经成功地对符号进行了编码。在这个文件中,由于撇号,我收到了 SQL 错误,我不知道如何修复它。不太确定我正在阅读的所有这些逃避的东西。这很令人困惑。这是导致问题的行:

strSQL = "SELECT * FROM Teams WHERE TeamName='" & TheTeamName & "'"

如果 Bob's Team 是团队的名称。我得到的错误是:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'TeamName='Bob's Team''.

/DeleteTeam.asp, line 35

我想知道我必须做什么才能正确删除其中包含撇号(可能还有其他烦人的符号)的团队。

【问题讨论】:

了解Little Bobby Tables 欢迎使用 SQL 注入 (sorta)。使用参数化查询。 这个参数化的东西对我来说是全新的。我将深入研究它,但如果有人可以提供一个快速解释,可能包含适用的代码示例或指向执行此操作的好网站的链接,那就太好了。 【参考方案1】:

要使您的查询按原样工作,您可以尝试以下操作:

将 TheTeamName 中的单引号 ' 替换为 '' 然后在您的查询中使用它。 (@least 这适用于 mysql 不确定您的数据库引擎,但试一试)。

注意最好使用prepared statement来防止SQL注入

【讨论】:

按时学习到今晚不是很可行,所以我现在要试试这个。如果你不介意,你能告诉我你在代码中具体指的是哪里吗?您是否建议将其改为 Bob 的团队? 正确,您将 Bob's Team 更改为 Bob's Team。 (当然,这可以通过将字符串 TheTeamName 中的单引号 ' 替换为两个 '' 以编程方式完成)。 LOL 我不能再问任何问题 2 天。距离我上一个也是前两个问题已经有一段时间了。

以上是关于如何删除带有符号的文件(特别是撇号)的主要内容,如果未能解决你的问题,请参考以下文章

google docs电子表格导出:如何从时间、日期中删除撇号[关闭]

如何使用c ++从字符串的开头和后面删除撇号

如何使用c ++从字符串的末尾删除撇号

VBA 从 Excel 中删除公式符号

删除文件中的前n行(带有许多“奇怪”符号的.zip文件)

如何从标题中删除符号? [复制]