您好,我正在开发一个可与 MySQL 数据库和 C# 4.0 配合使用的应用程序。
我有以下方法来更新 MySQL 表。但是在执行以下方法时,我收到错误:输入字符串的格式不正确。
方法调用:
UpdateOnline(mcon, convertedXml, fileName, stmId);
方法定义:
private void UpdateOnline(MySqlConnection mcon, string convertedXml, string fileName,int stmtId)
{
var cmd = new MySqlCommand("update user_account_statement set statement_xml=@xml,"+
" file_name=@fName, status='closed' where statement_id=@stmtId",mcon);
cmd.Parameters.AddWithValue("@xml", MySqlDbType.LongText).Value = convertedXml;
cmd.Parameters.AddWithValue("@fName", MySqlDbType.VarChar).Value = fileName;
cmd.Parameters.AddWithValue("@stmtId", MySqlDbType.Int32).Value=stmtId;
var query = cmd.ToString();
cmd.ExecuteNonQuery();
}
我多次检查数据类型,但无法找出我遗漏的地方。
更新
表架构如下:
CREATE TABLE `user_account_statement` (
`statement_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`statement_xml` longtext NOT NULL,
`status` varchar(10) NOT NULL,
`file_name` varchar(60) NOT NULL,
PRIMARY KEY (`statement_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1084 DEFAULT CHARSET=latin1;
最佳答案
看看你的参数吧。 。 在您的查询字符串中,它显示@xml、@fName、@stmtId
然后是 AddWithValue 行,您的代码显示 @xml、@fileName、@stmtId
关于c# - MySQL 查询中输入字符串的格式不正确错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26710764/