Как преобразовать интергер в строку в C#?
Привет,
В своем приложении я использую windows form c# и подключаюсь к sql server 2008 r2 с visual studio 2013 и успешно регистрируюсь. Всякий раз , когда я пытаюсь получить данные из базы данных с помощью кнопки обновления, программа возвращает "необработанное исключение типа" System.FormatException ' произошло в mscorlib.dll"
Кто-нибудь может мне помочь, пожалуйста?
Что я уже пробовал:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace BankApp { public partial class InsertUpdateDelete : Form { SqlConnection con = new SqlConnection("Data Source=Aydotcom-HP\\SQLEXPRESS;Initial Catalog=fham;Integrated Security=True"); SqlCommand cmd; SqlDataAdapter adapt; //ID variable used in Updating and Deleting Record int ID = 0; public InsertUpdateDelete() { InitializeComponent(); DisplayData(); } private void InsertUpdateDelete_Load(object sender, EventArgs e) { } private void btn_Insert_Click(object sender, EventArgs e) { if (txt_UName.Text != "" && txt_Password.Text != "") { // cmd = new SqlCommand("insert into login (UserName,Password,ID) values(@username,@password,@ID)", con); cmd = new SqlCommand("insert into login (UserName,Password) values(@username,@password)", con); con.Open(); //cmd.Parameters.AddWithValue("@ID", txt_ID.Text); cmd.Parameters.AddWithValue("@username", txt_UName.Text); cmd.Parameters.AddWithValue("@password", txt_Password.Text); cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("Record Inserted Successfully"); DisplayData(); ClearData(); } else { MessageBox.Show("Please Provide Details!"); } } //Display Data in DataGridView private void DisplayData() { con.Open(); DataTable dt = new DataTable(); adapt = new SqlDataAdapter("select * from login", con); adapt.Fill(dt); dataGridView1.DataSource = dt; con.Close(); } //Clear Data private void ClearData() { txt_UName.Text = ""; txt_Password.Text = ""; ID = 0; } private void btn_Update_Click(object sender, EventArgs e) { if (txt_UName.Text != "" && txt_Password.Text != "") { cmd = new SqlCommand("update login set UserName=@Username,Password=@password where ID=@id", con); con.Open(); cmd.Parameters.AddWithValue("@id", ID); cmd.Parameters.AddWithValue("@Username", txt_UName.Text); cmd.Parameters.AddWithValue("@password", txt_Password.Text); cmd.ExecuteNonQuery(); MessageBox.Show("Record Updated Successfully"); con.Close(); DisplayData(); ClearData(); } else { MessageBox.Show("Please Select Record to Update"); } } private void btn_Delete_Click(object sender, EventArgs e) { if (ID != 0) { cmd = new SqlCommand("delete login where ID=@id", con); con.Open(); cmd.Parameters.AddWithValue("@id", ID); cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("Record Deleted Successfully!"); DisplayData(); ClearData(); } else { MessageBox.Show("Please Select Record to Delete"); } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()); // ID = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); txt_UName.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); txt_Password.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); } } }
ZurdoDev
Мы можем помочь вам, если вы дадите нам точную ошибку и строку кода, которая вызывает ошибку.
Основываясь на очень маленькой информации, которую вы дали, я буду таким
dataGridView1.Ряды[электронный.Параметр rowindex].Ячейки[0].Значение.Метод toString()
не является целым числом. Все, что вам нужно сделать, это отладить код, и вы увидите, что происходит.
CHill60
Какая линия вызывает проблему?
Чтобы преобразовать целое число в строку, используйте x. ToString (), где x-ваше целое число
[no name]
И чего вы от нас ждете? Узнайте, как использовать отладчик для отладки вашего кода. Тогда вы не будете ожидать, что случайные незнакомцы в интернете будут отлаживать ваш код для вас когда они не могут запустить ваш код для начала.
Richard Deeming
Никогда храните пароли в виде простого текста!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]