当前位置: 首页 > 面试题库 >

使用ADO.net和SQL中的特殊字符

韩阳飙
2023-03-14
问题内容

我想在Winforms中编写一个小型应用程序,在其中我可以写一些单词,然后使用ADO.net将它们写到SQL数据库中。

当我想用一个占位符写一个字符串时遇到麻烦:

Give me your '%s' right now!

我的数据库中记录的是:

Give me your **"%s"** right now!

我该如何克服通过传输到我的数据库的C#更改字符串?

这是我的代码的一部分:

 public virtual int Split(global::System.Nullable<int> ID, object SplitXMLDoc, string CreatedBy)
 {
            global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[4];
            if ((ID.HasValue == true)) {
                command.Parameters[1].Value = ((int)(ID.Value));
            }
            else {
                command.Parameters[1].Value = global::System.DBNull.Value;
            }
            if ((SplitXMLDoc == null)) {
                command.Parameters[2].Value = global::System.DBNull.Value;
            }
            else {
                command.Parameters[2].Value = ((object)(SplitXMLDoc));
            }
            if ((CreatedBy == null)) {
                command.Parameters[3].Value = global::System.DBNull.Value;
            }
            else {
                command.Parameters[3].Value = ((string)(CreatedBy));
            }
            global::System.Data.ConnectionState previousConnectionState = command.Connection.State;
            if (((command.Connection.State & global::System.Data.ConnectionState.Open) 
                        != global::System.Data.ConnectionState.Open)) {
                command.Connection.Open();
            }
            int returnValue;
            try {
                returnValue = command.ExecuteNonQuery();
            }
            finally {
                if ((previousConnectionState == global::System.Data.ConnectionState.Closed))
 {
                    command.Connection.Close();
                }
            }
            return returnValue;
        }

问题答案:

您使用参数化的sql。

string val = "'%s'".Replace("'","\"");
string sql = "INSERT Into Table1 (value) values (@Value)";
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.AddWithValue("@Value",val);
cmd.ExecuteNonQuery();


 类似资料:
  • 问题内容: Oracle中是否有一种简单的方法来转义SQL语句中的特殊字符?(即%,&,’)我看到了有关手动转义字符的链接,但我认为Oracle可能提供了一种更简便的方法。 注意:我正在通过ORM生成动态SQL select语句。 问题答案: 如果使用绑定变量和ORM,则应自动处理嵌入的单引号和“&”号。这些是SQL * Plus或SQL * Developer中的特殊字符。 要在查找文字字符%和

  • 问题内容: 我有一张桌子,上面放着产品。我需要进行查询,以找到所有与用户输入值匹配的结果。我正在使用输入的插入。 当用户输入字符串包含“ _”或“%”时,就会出现问题,因为它们被解释为特殊字符。另一方面,请考虑以下因素: 命令对象使用参数将值传递给SQL语句或存储过程,从而提供类型检查和验证。与命令文本不同,参数输入被视为文字值,而不是可执行代码。 我不应该有这样的问题。我是否需要替换/转义输入字

  • 问题内容: 我正在双向聊天,将在全屏游戏中使用。 这是使用户 即使在没有焦点的情况下也可以 在屏幕顶部键入半透明文本框的必需项。 使用以下代码, 我可以检测到所有物理密钥 ,但是使用虚拟密钥时比较困难。 被检测到。 被检测到。 但是,这两个键都被检测为单独的键(即使键盘上给出了)。IE:程序输出SHIFT和2,但不输出它们产生的:。 问题是,如何根据键盘转换为字符?例如: 在英国键盘上,SHIFT

  • 关于字符集和替代字形 除键盘上可看到的字符之外,字体中还包括许多字符。根据字体的不同,这些字符可能包括连字、分数字、花饰字、装饰字、序数字、标题和文体替代字、上标和下标字符、变高数字和全高数字。字形是特殊形式的字符。例如,在某些字体中,大写字母 A 有几种形式可用,如花饰字或小型大写字母。 插入替代字形的方式有三种: 可以使用选择上下文菜单来查看和插入适用于所选字符的字形。 可以使用“字形”面板来

  • 本文向大家介绍SQL中的特殊运算符,包括了SQL中的特殊运算符的使用技巧和注意事项,需要的朋友参考一下 SQL中不同的特殊运算符如下- 所有运算符 任何运算符 运算符之间 EXISTS运算符 IN运算符 LIKE运算符 现在让我们创建一个表来了解特殊运算符的示例- <员工> Emp_ID Emp_Name Emp_Salary Emp_DeptID Emp_DeptName 1 亚伦 10000

  • 问题内容: 我正在阅读文件,但我不知道如何阅读口音和特殊字符,这是我阅读的代码,我必须添加其他编纂,但我不知道该怎么做 谢谢 问题答案: 请尝试以下操作: