Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
只能存储MySqlParameter对象(C#)_C#_Mysql_Ado.net_Mysql Connector - Fatal编程技术网

只能存储MySqlParameter对象(C#)

只能存储MySqlParameter对象(C#),c#,mysql,ado.net,mysql-connector,C#,Mysql,Ado.net,Mysql Connector,我研究了这个问题,但没有找到具体的解决办法。仅供参考,我使用我们的通用库类进行连接,从未遇到过这样的问题。我还想说,项目在我的本地PC上成功运行,但在服务器上没有 这是我得到的错误代码片段: queue_tablename = tablename; conn = myconn; writecomm = conn.CreateCommand(); writecomm.CommandText = "insert into "+tablename+

我研究了这个问题,但没有找到具体的解决办法。仅供参考,我使用我们的通用库类进行连接,从未遇到过这样的问题。我还想说,项目在我的本地PC上成功运行,但在服务器上没有

这是我得到的错误代码片段:

    queue_tablename = tablename;

    conn = myconn;
    writecomm = conn.CreateCommand();
    writecomm.CommandText = "insert into "+tablename+" (id,mtype,channel,dt,fromnumber,tonumber,smstext)" +
        "values (?id,?mtype,?channel,?dt,?fromnumber,?tonumber,?smstext)";
    writecomm.Parameters.Add(new MySqlParameter("id", MySqlDbType.Int64));
    writecomm.Parameters.Add(new MySqlParameter("mtype", MySqlDbType.VarChar));
    writecomm.Parameters.Add(new MySqlParameter("channel", MySqlDbType.VarChar));
    writecomm.Parameters.Add(new MySqlParameter("dt", MySqlDbType.DateTime));
    writecomm.Parameters.Add(new MySqlParameter("fromnumber", MySqlDbType.VarChar));
    writecomm.Parameters.Add(new MySqlParameter("tonumber", MySqlDbType.VarChar));
    writecomm.Parameters.Add(new MySqlParameter("smstext", MySqlDbType.VarChar));
此行引发异常:

writecomm.Parameters.Add(new MySqlParameter("id", MySqlDbType.Int64));
“MySql.Data.MySqlClient.MySqlException”类型的未处理异常 发生在MySql.Data.dll中

附加信息:只能存储MySqlParameter对象

试试这个

Change `?` to `@` in your command text and,
添加这样的参数

writecomm.Parameters.Add("@id", MySqlDbType.Int64).Value = ParameterValue;

试试这个

Change `?` to `@` in your command text and,
添加这样的参数

writecomm.Parameters.Add("@id", MySqlDbType.Int64).Value = ParameterValue;


我解决了这个问题,希望它能帮助那些尝试过以上解决方法但无法解决的人

出现异常是因为我的连接库使用了MySql.Data.dll版本6.2.2.2,但我添加了6.9.9.0的引用。更改您的MySql.Data引用,它将帮助您


在我的例子中,我的公司有另一个连接库,它使用6.9.9.0版本。这就是为什么,我使用了新的,一切都很好。

我解决了这个问题,希望它能帮助那些尝试了上述解决方法但无法解决的人

出现异常是因为我的连接库使用了MySql.Data.dll版本6.2.2.2,但我添加了6.9.9.0的引用。更改您的MySql.Data引用,它将帮助您


在我的例子中,我的公司有另一个连接库,它使用6.9.9.0版本。这就是为什么,我使用了新的参数,一切都正常。

当您添加参数时,它应该是
?id
而不是
id
?在声明
MySqlParameter
时,您错过了问号参数sigil(
)。在参数名称前添加标记并重试,或者使用.NET版本的查询参数作为
@
。尝试使用“@”而不是“?”。我说过这是我们的通用连接库。现在很多项目都在毫无问题地使用它。声明参数时还尝试使用
@
。这些代码都帮不了我。这些代码是mysql的默认库。。甚至不要说它是由你的队友创造的。我甚至不再使用那个标志了。现在,如果它正在工作,那么继续。当您添加参数时,它应该是
?id
而不是
id
?当声明
MySqlParameter
时,您错过了问号参数sigil(
)。在参数名称前添加标记并重试,或者使用.NET版本的查询参数作为
@
。尝试使用“@”而不是“?”。我说过这是我们的通用连接库。现在很多项目都在毫无问题地使用它。声明参数时还尝试使用
@
。这些代码都帮不了我。这些代码是mysql的默认库。。甚至不要说它是由你的队友创造的。我甚至不再使用那个标志了。现在,如果它能工作,那就继续吧。也许这不起作用,因为我说这是我们的通用连接库。现在很多项目都在毫无问题地使用它。还试过用吗?声明参数时使用@。它们都帮不了我。也许这不起作用,因为我说这是我们的通用连接库。现在很多项目都在毫无问题地使用它。还试过用吗?声明参数时使用@。他们都帮不了我。