字符串值不正确(C#Visual Studio 2015,MySQL Server 5.5(控制台))

时间:2017-05-08 21:00:09

标签: c# mysql

我需要帮助!我为课程编写了数据库管理软件。我无法通过插入数据来完成交易。我来自乌克兰并在数据库上使用乌克兰数据,但交易未完成,带来错误"错误的字符串值:' \ xD0 \ xB2'对于列' User_name'在第1行"} System.Exception {MySql.Data .MySqlClient.MySqlException} "我读了关于堆栈溢出的所有文章,但没有帮助我( 我使用SET NAMES' utf8'(cp1251,utf8mb4,koi8r,win1251,cp866等)但没有任何工作(帮助,问题可能在开发环境中编码? 我使用MySql.Data.MySqlClient或MySQL.dll 连接代码 - >

connStr = "server= localhost;user=root;charset=utf8mb4;database=DB_Journal;port=3306;password=masterkey;"conn = new MySqlConnection(connStr);

并插入 - >

conn.Open();
string sql = "insert into Users(User_id, User_name, User_surname, User_fname, Login, UType_id, Password,Secret,Answer) values (null, '" +
  textBox1.Text + "', '" + textBox2.Text + "', '"
                        + textBox4.Text + "', '" + textBox3.Text + "', '"
                        + usr + "', '" + pass + "', '"
                        + richTextBox1.Text + "', '"
                        + textBox7.Text + "')";
MySqlCommand cmd = new MySqlCommand(sql, conn);

cmd.ExecuteNonQuery();

(对不起,我写得不对,但我努力学习)

1 个答案:

答案 0 :(得分:0)

我不知道你想要用SET NAMES完成什么,但它可能不会做你认为它做的事情。 (此外,它的文档明确表示它不能使用utf8。)

在没有看到CREATE TABLE声明的情况下很难分辨,但可能发生的事情是您已将User_name等列声明为CHAR类型或{ {1}}实际上它们应该是VARCHARNCHAR类型。