Страница: 1 |
Страница: 1 |
Вопрос: Работа с большой базой (1 млн записей)
Добавлено: 29.05.07 18:36
Автор вопроса: Mitich
Товарищи, помогите!
Я недавно перешел на C# 2005, меня особенно интересует вопрос
работы с большими базами (более 1 млн. записей)
В VB 6 я использовал TrueDBGrid и решил это путем отказа от ADODC контрола, и пожключение данных к TrueDBGrid
программно напрямую. Вот код, который я использовал:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public connection As New ADODB.connection
Private Sub Form_Load()
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _
"Source=C:\База.mdb;Persist Security Info=False"
connection.Open
Dim rsa As New ADODB.Recordset
rsa.Open "tData", connection, adOpenKeyset, adLockOptimistic
Set Me.TDBGrid1.DataSource = rsa
End Sub
Private Sub Form_Unload(Cancel As Integer)
connection.Close
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Таблица открывалась за считанные секунды, несмотря на большой обьем
записей, но как это реализовать на C# пока не знаю
Не подскажите, как можно решить эту проблему?
P.S.Пробовал отображение в вируальном
режиме, но это не самый "красивый" вариант...
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #1
Добавлено: 29.05.07 19:48
примерно так
"ataBase3.mdb"
Dim da As New OleDbDataAdapter("Select * from Table1", conn)
da.Fill(customerTable)
 ataGridView1.DataSource = customerTable
Номер ответа: 2
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #2
Добавлено: 29.05.07 19:50
ну...
само собой...
Public conn As New System.Data.OleDb.OleDbConnection()
Dim customerTable As New DataTable()
Номер ответа: 3
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #3
Добавлено: 29.05.07 23:50
2 Mitich:
Интересно... у меня самого база на 1,5 млн записей, не дашь примерчик, как поключал?
Номер ответа: 4
Автор ответа:
Mitich
Вопросов: 2
Ответов: 2
Профиль | | #4
Добавлено: 30.05.07 14:12
Этот вариант конечно работает, я его сам пробовал, но 100 тыс. открываются примерно 10 сек., а это не есть гуд в VB6 у меня открывалось за доли секунды. Мне нужно быстрое открытие, как например в 1С или cronos...
Номер ответа: 5
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #5
Добавлено: 30.05.07 14:22
Смеялсо.
Номер ответа: 6
Автор ответа:
ПтирЯ
Вопросов: 11
Ответов: 71
Профиль | | #6
Добавлено: 30.05.07 15:16
Может быть зайти с обратной стороны?
Зачем пользователю видеть одновременно больше 1 миллиона записей(наверняка пользователю будет неприятно видеть даже 1000 записей.)?
Может быть к списку навернуть фильтарцию, чтобы пользователь с помощью визуальных элементов фильтровал список. и понятно, что отфильтрованный список будет выводиться приемлемо быстро.
Номер ответа: 7
Автор ответа:
Mitich
Вопросов: 2
Ответов: 2
Профиль | | #7
Добавлено: 30.05.07 16:11
быстрое открытие, как например в 1С
Смеялсо.
Подскажи тогда, как сделать, что ба открывалось ХОТЯ БЫ как в 1С
Номер ответа: 8
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #8
Добавлено: 30.05.07 16:55
У меня все польора лимона открываются быстро, хоть и работаю через дао.
Номер ответа: 9
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #9
Добавлено: 12.06.07 13:27
Тама есть чтото про неполную закачку данных, и последующую докачку...
В инете поищи о свойствах DataGridView, была статья, там описывалось как это настраивается