c# - MySQL 查询中输入字符串的格式不正确错误

标签 c# mysql sql-update query-string

您好,我正在开发一个可与 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/

相关文章:

php - 无法从 mysql 数据库 php 回显数据

mysql - 将 yymmdd 日期与今天进行比较

sql - MS SQL Server : how to determine which field is causing Arifmetic error

mysql - 如何使用内连接更新选择中的字段值?

c# - 如何使用 ConvertAll() 转换多秩数组?

C#复制多个文件

c# - 使用 C#/VSTO 监视 excel 2007 内的一系列单元格

c# - 如何在解析后获取原始的谷歌缩短网址

mysql - AWS RDS 显示多个可用区实例 (MySQL) 的过时数据

android - 在其中添加对象后, Realm 对象不更新