Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Растолкуйте мне как пользоваться адаптером для сохранения измененных или добавленных данных в таблицу. Порывшись в форуме ответа не нашел. Привожу пример кода у которого не знаю продолжения System.Data.OleDb.OleDbDataAdapter ad1; System.Data.DataTable tb; System.Data.DataRow row; tb= new DataTable("table1"); ad1= new System.Data.OleDb.OleDbDataAdapter(); ad1.SelectCommand= new System.Data.OleDb.OleDbCommand("SELECT str_val FROM table1", conn); ad1.InsertCommand= new System.Data.OleDb.OleDbCommand("???????", conn); ad1.Fill(tb); row= tb.NewRow(); row[0]= "123"; tb.Rows.Add(row); row= tb.NewRow(); row[0]= "234"; tb.Rows.Add(row); tb.AcceptChanges(); Как синхронизировать полученную таблицу tb с SQL таблицей table1? Пробовал еще раз вызывать FILL - результат никакой. Что должно содержаться в тексте ad1.InsertCommand ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 09:20 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Insert into ... values .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 09:47 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Что должно содержаться в VALUES(???) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 10:09 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Попробуйте сгенерить InsertCommand с помощью OleDbCommandBuilder. Например, так: Код: plaintext 1. Вышеуказанную строку поместите вместо строки: Код: plaintext 1. По поводу INSERT вопрос скорее по SQL, чем по C# или .NET. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 10:22 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
+ PS для этого в SELECT команде необходимо считать PK в таблицу tb PSS обновление данных в БД делать через ad.Update PSSS tb.AcceptChanges(); - не нужен, убери его, т.к. никакие изменения после него в БД не попадут. адаптер сам выдаст AcceptChanges после внесения изменений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 10:28 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Что касается использования INSERT в SQL я немного разбираюсь. Просто я думал, что в адаптере его нужно как-то привязывать к набору данных. Поэтому и возник вопрос о VALUES(???) А вот OleDbCommandBuilder щас попробую применить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 10:47 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Да все заработало. Спасибо за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 10:53 |
|
||
|
Про DataAdapter
|
|||
|---|---|---|---|
|
#18+
Если у тебя сложный запрос, то CommandBuilder тебе не поможет. Тогда в "INSERT INTO ... VALUES(...." укажи параметры и посоздавай эти параметры, например так: ad1.InsertCommand.Parameters.Add(new OleDbParameter("Param1", OleDbType.Date, 0, "Column1")); Т.е. как видишь в примере, параметр "Param1" был связан со столбцом "Column1". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=973&tid=1437078]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 312ms |

| 0 / 0 |
