Windows Forms C # извлекает данные SQL с помощью предложения WHERE - PullRequest
0 голосов
/ 18 мая 2018

Немного энтузиастов-программистов (и новичков), поэтому я ценю, что могу подойти к этому неправильно, поэтому любые советы по изменению моего подхода также будут оценены.

Идея состоит в том, чтобы в форме была кнопка «Подробнее», которая откроет другую форму, отображающую контактные данные клиентов, полученные из таблицы SQL.Таблица с именем «Project_Info» содержит все данные о контакте / адресе, используя идентификатор «Project» в качестве уникального идентификатора.

Код кнопки:

private void button2_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection("Data Source=WIN-M9TBGRD70BU;Initial Catalog=Disk_Tracker;User ID=Tracker;Password=********");
    SqlDataAdapter sda = new SqlDataAdapter("Select * FROM Project_Info WHERE (Project = 'P3890T')", con);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    {
        this.Hide();
        TRACK_10_PI T10 = new TRACK_10_PI();
        T10.Show();
    }
}

Новая форма TRACK_10_PI открывается, но всегда отображает данные из верхней строки, а не так, как указано в предложении WHERE.

Причина, по которой я хочу получить данные из базы данных, а не просто жестко кодировать их на странице, заключается в том, чтобы учесть возможные изменения в информации.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Я бы посоветовал вам использовать usinngs, поэтому вам не нужно распоряжаться объяснением.Поместите datagridview в форму, заполненную вашим кодом.Вы можете параметризировать свою реализацию своей формы.Теперь вы должны заполнить базу данных в TRACK_10_PI.

Пример:

using (SqlConnection con = new SqlConnection("Data Source=WIN-M9TBGRD70BU;Initial Catalog=Disk_Tracker;User ID=Tracker;Password=********"))
{
    using (SqlDataAdapter sda = new SqlDataAdapter("Select * FROM Project_Info WHERE (Project = 'P3890T')", con))
    {
        DataTable dt = new DataTable();
        sda.Fill(dt);
        this.Hide();
        TRACK_10_PI T10 = new TRACK_10_PI(sda);
        T10.Show();
    }
}
0 голосов
/ 18 мая 2018

Я подозреваю, что вы не передаете недавно созданный dt в форме TRACK_10_PI.Я не вижу никаких проблем с вашим кодом, за исключением того, что вы должны утилизировать объекты SqlConnection и SqlDataAdapter.

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