|
|
|
TableAdapter.Update
|
|||
|---|---|---|---|
|
#18+
Не поскажете ли ссылку на документ, где описывается с примерами работа с TableAdapter (в доступной мне литературе описывается технология работы с БД, применяемая в VS2003, где набор классов для доступа к БД был иной). В частности, меня интересует обновление источника данных хранимыми процедурами. -- Типизированный DataSet содержит Command's для Select, Insert, Update, Delete, настроенные для вызова хранимых процедур. -- Данные в Grid на форме читаю нормально. -- Изменяю 1 запись, в Grid вижу изменения. -- При попытке выполнить MyTableAdapter.Update(MyDataSet) - исключение - обновлено 0 записей. Неплохо бы пример. Заранее благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 11:32 |
|
||
|
TableAdapter.Update
|
|||
|---|---|---|---|
|
#18+
Михаил В.Не поскажете ли ссылку на документ, где описывается с примерами работа с TableAdapter (в доступной мне литературе описывается технология работы с БД, применяемая в VS2003, где набор классов для доступа к БД был иной). В частности, меня интересует обновление источника данных хранимыми процедурами. -- Типизированный DataSet содержит Command's для Select, Insert, Update, Delete, настроенные для вызова хранимых процедур. -- Данные в Grid на форме читаю нормально. -- Изменяю 1 запись, в Grid вижу изменения. -- При попытке выполнить MyTableAdapter.Update(MyDataSet) - исключение - обновлено 0 записей. Неплохо бы пример. Заранее благодарю. Пожалуйста вот Вам пример с MS Access! Но сначала Вы должны добавить на форму dataAdapter, потом выбрать новое соединение, тип Provider - Microsoft.Jet.OLEDB.4.0 Provider. Выбрать Вашу базу, построить запрос в Query Builder, например SELECT * FROM table1. Потом Ок. И все. Теперь пример кода. 1. Подключаемся к базе (саму базу для примера помистите в каталог проэкта bin\Debug). public string sqlSelect = "SELECT * FROM table1"; private void Form1_Load(object sender, System.EventArgs e) { fillData(sqlSelect); } private void fillData(string sqlQuery) { try { string myConn = @"Provider = Microsoft.Jet.OleDb.4.0;"+ "data source = ././basa.mdb"; oleDbConnection1 = new OleDbConnection(); oleDbConnection1.ConnectionString = myConn; oleDbConnection1.Open(); dataSet1 = new DataSet(); dataSet1.CaseSensitive = true; oleDbSelectCommand1 = new OleDbCommand(); oleDbSelectCommand1.Connection = oleDbConnection1; oleDbSelectCommand1.CommandText = sqlSelect; OleDbDataAdapter oleDbDataAdapter1 = new OleDbDataAdapter(); oleDbDataAdapter1.SelectCommand = oleDbSelectCommand1; oleDbDataAdapter1.TableMappings.Add("Table","table1"); oleDbDataAdapter1.Fill(dataSet1); this.dataGrid1.DataSource = dataSet1.Tables["table1"].DefaultView; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { oleDbConnection1.Close(); } } 2. Сохранение изменений в базе public void Save () { DataSet ds = dataSet1.GetChanges(); if(ds != null) { oleDbDataAdapter1.Update(dataSet1); MessageBox.Show("The Basa, updated success!!!!"); dataSet1.AcceptChanges(); } else { MessageBox.Show("Not changes!!! Not save!!!"); } } public void RefreshDS () { dataSet1.Clear(); oleDbDataAdapter1.Fill(dataSet1); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 12:59 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=105&tid=1353182]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 374ms |

| 0 / 0 |
