Я получил эту ошибку, когда хочу попытаться проверить доступность имени пользователя, которое есть в базе данных, или нет, ошибка говорит: «Строка ввода не была в правильном формате».Проверить наличие ошибки в имени пользователя
Вот код:
private void CheckUsername()
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\Archives\Projects\Program\Sell System\Sell System\App_Data\db1.accdb";
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT [Username] FROM [Member], conn);
cmd.Parameters.Add("Username", System.Data.OleDb.OleDbType.VarChar);
cmd.Parameters["Username"].Value = this.textBox1.Text;
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count != 0)
{
System.Media.SoundPlayer sound = new System.Media.SoundPlayer(@"C:\Windows\Media\Windows Notify.wav");
sound.Play();
MessageBox.Show("Username already exists! Please use another username", "Warning");
}
else
{
System.Media.SoundPlayer sound = new System.Media.SoundPlayer(@"C:\Windows\Media\Windows Notify.wav");
sound.Play();
MessageBox.Show("Username is not exists!", "Congratulations");
}
}
Ошибка указал в: int count = Convert.ToInt32(cmd.ExecuteScalar());
и ошибка говорит: «строка ввода не был в правильном формате»
Заранее спасибо!
Пожалуйста начать использовать параметризованные запросы. Этот подход представляет собой SQL-инъекцию, ожидающая события – TGH
Является ли имя пользователя целочисленным? – dcaswell
@TGH: Спасибо, я сделаю это! – Reinhardt