Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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语言中用字符串参数值进行SQL查询_C#_Sql - Fatal编程技术网

C# 如何在C语言中用字符串参数值进行SQL查询

C# 如何在C语言中用字符串参数值进行SQL查询,c#,sql,C#,Sql,我试图从参数中获取一个字符串值,并获取公司的所有名称,其中名称以参数中的字母开头,但我并没有得到任何回报。执行此操作的正确语法是什么 public IEnumerable<Asiakas> GetByName(string arvo) { string sql = "SELECT ASNRO, YRITYS, SUKUNIMI, ETUNIMI, LAHIOSOITE, POSTITP, POSTINRO " +

我试图从参数中获取一个字符串值,并获取公司的所有名称,其中名称以参数中的字母开头,但我并没有得到任何回报。执行此操作的正确语法是什么

public IEnumerable<Asiakas> GetByName(string arvo)
        {
            string sql = "SELECT ASNRO, YRITYS, SUKUNIMI, ETUNIMI, LAHIOSOITE, POSTITP, POSTINRO " +
                         "FROM dbo.ASIAKAS " +
                         "WHERE YRITYS LIKE '@KIRJAIN' " +
                         "ORDER BY ASNRO";
            using (var cmd = Context.CreateCommand())
            {
                cmd.CommandText = sql;
                cmd.Parameters.Add(new SqlParameter("@KIRJAIN", arvo));
                var tulos = ToList(cmd);
                return tulos;
            }
        }

不要在sql中使用引号,也不要在参数中使用@

public IEnumerable<Asiakas> GetByName(string arvo)
        {
            string sql = "SELECT ASNRO, YRITYS, SUKUNIMI, ETUNIMI, LAHIOSOITE, POSTITP, POSTINRO " +
                         "FROM dbo.ASIAKAS " +
                         "WHERE YRITYS LIKE @KIRJAIN " +
                         "ORDER BY ASNRO";
            using (var cmd = Context.CreateCommand())
            {
                cmd.CommandText = sql;
                cmd.Parameters.Add(new SqlParameter("KIRJAIN", arvo));
                var tulos = ToList(cmd);
                return tulos;
            }
        }

新的SqlParameterKIRJAIN,arvoDon在使用参数时不引用,如果需要,库将添加正确的引用-只要。。。比如@KIRJAIN。。。不像“@KIRJAIN”……但是如果我这样尝试,并且像@KIRJAIN%这样做,它只会在关键字“ORDER”附近返回错误的语法。另外,cmd.Parameters.Addcmd.CreateParameterKIRJAIN,arvo通常比cmd.Parameters.Addnew SqlParameterKIRJAIN,arvo更可取。@Steffe30这与您的问题不同。。。。。如果希望参数do cmd.Parameters.Addnew SqlParameterKIRJAIN中的%为,则为arvo+%;或者,如果您想在sql中执行此操作,其中类似于@KIRJAIN+“%”的Yrity作为进一步说明,参数不是文本替换,而是tsql变量