ishuishika Ответов: 1

Ошибка : недопустимая попытка чтения при отсутствии данных


Привет,

Я хочу подключить базу данных для создания и резервного копирования данных. когда я пытаюсь подключить базу данных, она выдает мне ошибку Invalid attempt to read when no data is present.

Пожалуйста, помогите мне в этом.

Что я уже пробовал:

 public partial class Backup_or_Restore_Data : Form
    {
        private SqlConnection con;
        private SqlCommand command;
        private SqlDataReader reader;
        string sql = "";
        string connectionString = "";
private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                connectionString = "Data Source = " + textBox1.Text + "; User Id = " + textBox2.Text + "; Password = " + textBox3.Text + "";
                con = new SqlConnection(connectionString);
                con.Open();
                sql = "EXEC sp_databases";
                command = new SqlCommand(sql, con);
                reader = command.ExecuteReader();
                comboBox1.Items.Clear();
                while (reader.Read());
                {
                    comboBox1.Items.Add(reader[0].ToString());

                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
    }

Richard MacCutchan

Что на самом деле делает ваша хранимая процедура? Я подозреваю, что он не возвращает набор данных.

1 Ответов

Рейтинг:
11

OriginalGriff

Посмотрите на свой код:

while (reader.Read());
{
    comboBox1.Items.Add(reader[0].ToString());
}
Точка с запятой в конце строки while строка означает, что все строки были прочитаны до того, как вы вошли в блок фигурных скобок, где вы пытаетесь его использовать.

Удалите точку с запятой.