Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 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-сайт: sham.clan.su
 Профиль | | #1
Добавлено: 29.05.07 19:48
примерно так
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & _
      ";DataBase3.mdb"

        Dim da As New OleDbDataAdapter("Select * from Table1", conn)

        da.Fill(customerTable)

        ;DataGridView1.DataSource = customerTable

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #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
быстрое открытие, как например в 1С

Смеялсо.

Ответить

Номер ответа: 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, была статья, там описывалось как это настраивается

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам