Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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#中的参数化mysql语句有什么问题?_C#_Mysql - Fatal编程技术网

我在c#中的参数化mysql语句有什么问题?

我在c#中的参数化mysql语句有什么问题?,c#,mysql,C#,Mysql,当我尝试执行此操作时,我得到一个异常,说语法不正确 string sql= string.Format(@"SELECT valueA FROM tableA WHERE columnA = @columnValueA"); var parameters = new MySqlParameter[1]; parameters[0] = new MySqlParameter(

当我尝试执行此操作时,我得到一个异常,说语法不正确

string sql= string.Format(@"SELECT valueA
                      FROM tableA
                      WHERE columnA = @columnValueA");


        var parameters = new MySqlParameter[1];
        parameters[0] = new MySqlParameter("@columnValueA", string.Format("{0}","abc"));


foreach (var mySqlParameter in parameters)
{
    cmd.Parameters.AddWithValue(mySqlParameter.ParameterName, mySqlParameter.Value);
}

//later I execute, it tells me the syntax is incorrect

-- I am trying to execute something on the database similar to below

SELECT valueA
FROM tableA
WHERE columnA = "abc"

MySqlParameter字符串中是否需要@?我想你可以不用它吗?

我的查询是正确的,本质上,代码中发生的事情是它附加了一个额外的
,这使得查询语法不正确。

columnA实际上是一个字符串列吗?如果是数值列,则应提供整数形式的参数值,而不是整数的字符串表示形式。@Servy-它是字符串,对于非字符串值,我没有使用string.Format。是否尝试将参数显式强制转换为
对象
AddWithValue
需要对象。您指的是哪个@?它们在多个地方。