Другие языки программирования и технологии

Обмен данными между datagrid viewи базой данных

Я новичок в программировании. Работаю в среде visual studio 2010, язык C#. Имеется две формы, на первой датагридвью и рядом кнопка Добавить. При нажатии на кнопку добавить открывается вторая форма, на которой расположены поля ввода. После заполнения полей и нажатия кнопки ОК данные из полей ввода должны сохраняться в Базе данных. Я создал эти формы, добавил дата сет, датагрид и создал локальную базу данных урезанную - .SDF Далее необходимо организовать обмен данными между датагрид вью и базой данных. Я в этой области опыта не имею, прошу подробно объяснить или ссылку на хорошие уроки кинуть.
sdf - это SQL Server. Глючная такая серверная БД.

Объяснять и правда долго, но вот тут пример на VB.NET есть, ну и пояснение что как делать, собственно я его и писал
cyberforum.ru/post6217092.html

Почему на VB.NET, а не на C# - это к админам форума, пусть создадут такой же топик-FAQ по C# и закрепят в топе, тогда буду исходники на C# писать.

А так, вот конвертер. http://converter.telerik.com/
Andrey P...
Andrey P...
116
Лучший ответ
Это долго объяснять. И я работаю не с SDF. учитесь работать с гуглом. Задайте в поиск SDF и C# и их же с DataGridView



С Access .mdb как-то так:

С#




using System;

using System.Windows.Forms;

using System.Data;

using System.Drawing;

using System.Diagnostics;

// Пространство имен для работы с базами данных Access

using System.Data.OleDb;




class DataInOutGrid : Form

{

OleDbDataAdapter dataAdapter;

DataGridView dataGridView;




public DataInOutGrid()

{

//Изменяем размеры формы

this.Width = 450;

this.Height = 400;

// Добавляем элемент DataGridView на форму

dataGridView = new DataGridView();

dataGridView.Width = 414;

dataGridView.Height = 250;

dataGridView.Location = new Point(10, 10);

dataGridView.AutoResizeColumns();

this.Controls.Add(dataGridView);




// Добавляем командную кнопку

Button buttonSave = new Button();

buttonSave.Location = new Point(100, 320);

buttonSave.Width = 220;

buttonSave.Text = "Сохранить изменения в базе данных! ";

buttonSave.Click += new System.EventHandler(ButtonSave_Click);

buttonSave.Parent = this;




// Формируем запрос к базе данных –

string sql = "SELECT * FROM PHONES";

string connectionString;




// DataTable сохраняет данные в памяти как таблицу

DataTable dataTable = new DataTable();




//Связывание с базой данных Access 2003 – *.mdb

connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +

@"Data Source= ../../../databases/Phones.mdb";

OleDbConnection connection = new OleDbConnection(connectionString);

connection.Open();




OleDbCommand OleDbCommand = new OleDbCommand(sql, connection);




dataAdapter = new OleDbDataAdapter(OleDbCommand);




//Создаем построитель команд

//Для адаптера становится доступной команда Update

OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);




// Данные из адаптера поступают в DataTable

dataAdapter.Fill(dataTable);




// Связываем данные с элементом DataGridView

dataGridView.DataSource = dataTable;




// Очистка

connection.Close();

}




static void Main()

{

// Создаем и запускаем форму

Application.Run(new DataInOutGrid());

}




void ButtonSave_Click(object sender, System.EventArgs args)

{

try

{

dataAdapter.Update((DataTable)dataGridView.DataSource);

MessageBox.Show("Изменения в базе данных выполнены! ",

"Уведомление о результатах", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (Exception)

{

MessageBox.Show("Изменения в базе данных выполнить не удалось! ",

"Уведомление о результатах", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}
ну так поищите "работа с БД в С#"