c#mysql命令参数addwithvalue截断输入值

时间:2016-10-03 14:35:49

标签: c# mysql

我有这种情况,我使用c#更新mySql db表。 更新的字段是varchar(10)。 问题是如果传递的值超过10个字符,则写入的值将被截断,但没有例外。 这是正常的吗?我错过了什么吗?

下面的代码显示了这种情况

string query = @"update params set paramvalue=@val where paramid='aParam'; 
    select paramvalue from params where paramid='aParam';";
MySqlConnection connection =
  new MySqlConnection("server=localhost;user=root;database=world;port=3306;password=******;");
connection.Open();
MySqlCommand command = new MySqlCommand(query, connection);

string myVal = "123456789012345";

command.Parameters.AddWithValue("@val", myVal);

string theirVal = command.ExecuteScalar().ToString();
Console.WriteLine(theirVal); // this outputs "1234567890"

更新 完全相同的命令会在workbech客户端中返回执行警告!

  

受影响的1行,1个警告:1265第1行的'ParamValue'列截断数据匹配的行数:1已更改:1警告:1 0.000秒

我可以在代码中的mySql客户端中使用这些警告吗? 有什么建议吗?我找不到路......

0 个答案:

没有答案