Сохранить арабские данные datagridview в базе данных - PullRequest
0 голосов
/ 04 марта 2019

У меня есть datagridview, который содержит два столбца (имя, возраст).Данные этой сетки на арабском языке.(((Не удалось преобразовать значение параметра из строки в Int32.))) Ее мой код

SqlConnection connection = new SqlConnection("Server=addie; DataBase=Library_DB; Integrated Security=true");
       connection.Open();
       SqlCommand command = new SqlCommand("INSERT INTO names (name,age) VALUES (@Name, @Age)", connection);
       command.Parameters.Add("@Name", SqlDbType.Int);
       command.Parameters.Add("@Age", SqlDbType.NVarChar, 50); //size and type must match your DB

       for (int i = 0; i < dataGridView1.Rows.Count; i++)
       {
           command.Parameters["@Name"].Value = dataGridView1.Rows[i].Cells[0].Value;
           command.Parameters["@Age"].Value = dataGridView1.Rows[i].Cells[1].ValueType;
           command.ExecuteNonQuery();
       }
       connection.Close();
       dataGridView1.Rows.Clear();

Когда я пытаюсь запустить код, появляется следующая ошибка

Не удалось преобразовать значение параметра из строки в Int32.

Как исправить код?

1 Ответ

0 голосов
/ 05 марта 2019

Привет, если я понимаю вашу стену, я думаю, что вы набрали ошибку в своем .net-коде, попробуйте это:

SqlConnection connection = new SqlConnection("Server=addie; DataBase=Library_DB; Integrated Security=true");
       connection.Open();
       SqlCommand command = new SqlCommand("INSERT INTO names (name,age) VALUES (@Name, @Age)", connection);
       command.Parameters.Add("@Age", SqlDbType.Int);
       command.Parameters.Add("@Name", SqlDbType.NVarChar, 50); //size and type must match your DB

       for (int i = 0; i < dataGridView1.Rows.Count; i++)
       {
           command.Parameters["@Name"].Value = dataGridView1.Rows[i].Cells[0].Value;
           command.Parameters["@Age"].Value = dataGridView1.Rows[i].Cells[1].ValueType;
           command.ExecuteNonQuery();
       }
       connection.Close();
       dataGridView1.Rows.Clear();

У вас есть тип имени свипа и возраст.

В противном случае, если это не сработает, мы слишком хорошо знаем версию сопоставления вашей базы данных и некоторую другую информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...