只能存储MySqlParameter对象(C#)
我研究了这个问题,但没有找到具体的解决办法。仅供参考,我使用我们的通用库类进行连接,从未遇到过这样的问题。我还想说,项目在我的本地PC上成功运行,但在服务器上没有 这是我得到的错误代码片段:只能存储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+
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的默认库。。甚至不要说它是由你的队友创造的。我甚至不再使用那个标志了。现在,如果它能工作,那就继续吧。也许这不起作用,因为我说这是我们的通用连接库。现在很多项目都在毫无问题地使用它。还试过用吗?声明参数时使用@。它们都帮不了我。也许这不起作用,因为我说这是我们的通用连接库。现在很多项目都在毫无问题地使用它。还试过用吗?声明参数时使用@。他们都帮不了我。