
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.03.2009, 09:20
|
|||
|---|---|---|---|
|
|||
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
Хочу вставлять данные в базу целым массивом, выдается ошибка Для обновления требуется действительный InsertCommand при передаче коллекции DataRow с новыми строками. private void WriteDataSet() { SqlConnection cn = new SqlConnection(cs); SqlCommand com = new SqlCommand(); com.Connection = cn; cn.Open(); DataTable myDataTable = new System.Data.DataTable("N"); // Declare variables for DataColumn and DataRow objects. DataColumn myDataColumn; DataRow myDataRow; SqlDataAdapter da = new SqlDataAdapter("Select * from N", cn100); DataSet myDataSet=new DataSet("N"); da.Fill(myDataSet); // Create new DataColumn, set DataType, ColumnName and add to DataTable. myDataColumn = new DataColumn(); myDataColumn.DataType = System.Type.GetType("System.Int32"); myDataColumn.ColumnName = "a"; myDataColumn.ReadOnly = true; myDataColumn.Unique = true; myDataTable.Columns.Add(myDataColumn); myDataColumn = new DataColumn(); myDataColumn.DataType = System.Type.GetType("System.String"); myDataColumn.ColumnName = "b"; myDataColumn.AutoIncrement = false; myDataColumn.Caption = "b"; myDataColumn.ReadOnly = false; myDataColumn.Unique = false; myDataColumn.MaxLength = 100; myDataTable.Columns.Add(myDataColumn); DataColumn[] PrimaryKeyColumns = new DataColumn[1]; PrimaryKeyColumns[0] = myDataTable.Columns["a"]; myDataTable.PrimaryKey = PrimaryKeyColumns; myDataSet = new DataSet(); for (int i = 0; i <= 2; i++) //заполняю дататэйбл массивом строк { myDataRow = myDataTable.NewRow(); myDataRow["a"] = i; myDataRow["b"] = "b " + i; myDataTable.Rows.Add(myDataRow); } myDataSet.Tables.Add(myDataTable); da.InsertCommand = command; da.Update(myDataSet,"N");//ошибка;хочу вставлять данные в базу целым массивом, но не удается :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2009, 09:22
|
|||
|---|---|---|---|
|
|||
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
Хочу вставлять данные в базу целым массивом, выдается ошибка Для обновления требуется действительный InsertCommand при передаче коллекции DataRow с новыми строками. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2009, 10:05
|
|||
|---|---|---|---|
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
/topic/589453&hl=rdfg ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2009, 10:33
|
|||
|---|---|---|---|
|
|||
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
aleks-sam/topic/589453&hl=rdfg С этим все ясно! Теперь другая проблема: Хочу в дататэйбл записать созданый предварительно массив, т.е. сделать так: Код: plaintext Как это исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2009, 10:39
|
|||
|---|---|---|---|
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
Код: plaintext Как вариант записать все в одну строчку через символ-разделитель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2009, 10:42
|
|||
|---|---|---|---|
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
И что это? Код: plaintext 1. 2. 3. 4. 5. Может в отдельную таблицу с ключиком?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2009, 11:15
|
|||
|---|---|---|---|
|
|||
Обновление базы с помощью датаадаптер.Update() |
|||
|
#18+
Почему первый способ записи работает быстрее второго, хотя в первом запись происходит по одному элементу, а во втором целым массивом? Первый способ через хранимую процедуру: гдето 1500 записей - за секунду Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 2 ой способ через датасет и адаптер. 500 записей в секунду Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Модератор: Тема перенесена из форума "C#.NET". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=17&mobile=1&tid=1351902]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
227ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 258ms |
| total: | 578ms |

| 0 / 0 |
