Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > SqlConnection результат в DataGridView


Автор: _Michael 23.11.2007, 17:00
Здравствуйте. Я новичок в .NET поетому может вопрос детский. У меня при нажатии на кнопку происходит следующее:
Код

private void button1_Click(object sender, EventArgs e)
        {
            try {
                String conString = "Data Source=MYCOMP\\SQLEXPRESS;Initial Catalog=HelloWorld;User ID=HelloWorld;Password=HelloWorld";
                System.Data.SqlClient.SqlConnection con = 
                    new System.Data.SqlClient.SqlConnection(
                    conString
                    );
                System.Data.SqlClient.SqlDataAdapter cmdContacts = new System.Data.SqlClient.SqlDataAdapter("SELECT Name, Surname, Phone FROM dbo.Contacts", con);
                cmdContacts.Fill(this.helloWorldDataSet, "Contacts");
            } finally {
                this.statusStrip1.Text = "Done";
            }
        }

То-есть делается селект из базы данных, и результат должен появится в helloWorldDataSet но на форме просто добавляются три ряда (в базе данных у меня три записи) с пустыми ячейками. Как я подозреваю, наверное нет какой-то привязки конкретной колонки в базе с колонкой в моем DataGridView. Не подскажите как и где ее задать? В формдизайнере я сделал так:
Код


            this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
            this.NameColumn,
            this.SurnameColumn,
            this.PhoneColumn});
            this.dataGridView1.DataSource = this.helloWorldDataSet;
            this.dataGridView1.DataMember = "Contacts";


Автор: _Michael 23.11.2007, 18:19
Ех, разобрался уже. Надо было добавить всего одну строку:
Код

this.PhoneColumn.DataPropertyName = "Phone";

Вот именно ета строка и связывает имя колонки "Phone" из базы данных и колонку на моей форме - PhoneColumn.
И так для каждой колонки. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)