Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中使用like语句#_C#_Mysql_Tsql - Fatal编程技术网

C# 如何在c中使用like语句#

C# 如何在c中使用like语句#,c#,mysql,tsql,C#,Mysql,Tsql,我正在添加参数 qry = qry.Replace("{criteria}", "info.abc LIKE '%?val%'"); 命令不起作用如果我从命令中删除了',那么它会给出一个错误,说明我如何按照语法在c#中搜索表,您需要将搜索值置于'' 例如: WHERE title LIKE '%computer%' 语法 match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ] 另一种更为明确的方法——我认为更具可读

我正在添加参数

qry = qry.Replace("{criteria}", "info.abc LIKE '%?val%'");
命令不起作用如果我从命令中删除了
'
,那么它会给出一个错误,说明我如何按照语法在c#

中搜索表,您需要将搜索值置于''

例如:

WHERE title LIKE '%computer%'
语法

match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]

另一种更为明确的方法——我认为更具可读性,因为它避免了SQL语法中繁琐的部分:

SqlDataReader r = new SqlCommand("SELECT * FROM the_table").ExecuteReader();
object[] values = new object[5000];
r.GetValues(values);
foreach (string value in values)
    if (value.Length > 4)
        if (value.Contains("val"))
            new SqlCommand("UPDATE the_table SET value = 'newValue' WHERE "+
                           "value = '"+value+"'").ExecuteNonQuery();

发布整个查询。显示原始查询模板。如果需要帮助,需要更多信息…此解决方案存在sql注入风险(请参阅)。最好使用参数化查询。此外,它可能对性能有很大影响(它需要运行尽可能多的查询,因为“the_table”中有记录)。@ckarras:谢谢,我不知道SQL inject攻击。不过,性能不应该令人担忧。首先关注正确的操作,然后关注需要时的快速操作。-
首先关注正确的操作,然后关注需要时的快速操作。在哪里使用连接字符串?没有连接字符串,它如何知道对哪个数据库和哪个实例执行命令?