Click here to Skip to main content
15,903,362 members
Home / Discussions / C#
   

C#

 
QuestionLanguage Translator Pin
Ben_Cameron5-Jul-06 15:33
Ben_Cameron5-Jul-06 15:33 
AnswerRe: Language Translator Pin
Ravi Bhavnani5-Jul-06 17:29
professionalRavi Bhavnani5-Jul-06 17:29 
QuestionPassing value to Class Pin
oskardiazdeleon5-Jul-06 14:14
oskardiazdeleon5-Jul-06 14:14 
AnswerRe: Passing value to Class Pin
Guffa5-Jul-06 20:09
Guffa5-Jul-06 20:09 
Questionhow to execute my exe before main exe ? Pin
hdv2125-Jul-06 14:02
hdv2125-Jul-06 14:02 
AnswerRe: how to execute my exe before main exe ? Pin
Dave Kreskowiak5-Jul-06 15:43
mveDave Kreskowiak5-Jul-06 15:43 
QuestionSQL - Handling Large Volumes of Data [modified] Pin
MrEyes5-Jul-06 13:28
MrEyes5-Jul-06 13:28 
AnswerRe: SQL - Handling Large Volumes of Data Pin
Alexander Wiseman5-Jul-06 14:11
Alexander Wiseman5-Jul-06 14:11 
Hello,

I don't have an answer to your second question right now, but I can make a suggestion for the first question.

My suggestion is to use a grid control which allows you to implement a "virtual grid". Basically, a virtual grid does not store the data in memory for any of the cells in the grid. Instead, when the data for one of the cells needs to be displayed, the control makes a request (some sort of callback function) and retrieves the data that way. This would allow you to store only a small part of the data of your database in memory at a time - namely, just as much data as the user can see at one time. Here is basically how I see it working (I have done a virtual grid pulling from a database before, though my implementation was in C++ and probably not the most efficient one):

1) Application loads and so does the grid.
2) Grid requests data for the first hundred rows.
3) Your app queries your database and gets back a data set with those hundred rows and hands them to the grid view. The SQL pull back is fast, because it is SQL, and displaying the items in the grid is fast, because they are stored in memory.
[now there are only one hundred rows in memory]

4) The user uses the scroll bar to scroll down to the next hundred rows. The first hundred rows are now hidden, the next hundred must be displayed.
5) Grid request data for the second hundred rows.
6) Your app queries your databse and gets back a data set with the second hundred rows and hands them to the grid view. This takes about the same amount of time for the first hundred rows.
[there are only one hundred rows in memory)

And so on: as the user scrolls or searches, you simply pull back the data which needs to be displayed and pass it to the grid.

The great thing about doing it this way is that everything takes roughly the same amount of time and is fairly quick, even if your database grows bigger. Obviously the more rows you wish to display at once, the longer it will take and the memory it will take, but this isn't really an issue, because the number of rows that can fit on the screen is limited.

Now, I haven't built an application that has had to deal with the volume of data which you are working with, but conceptually I think this idea works. Please take this simply a suggestion, and not an expert opinion.

For a C# grid which supports virtual grid, just do a search on this site. One such grid is: SourceGrid[^]. I haven't tried this one yet, but it looks good.

Please let me know if you have any questions about this, and I'll try to answer them.

Sincerely,
Alexander Wiseman
AnswerRe: SQL - Handling Large Volumes of Data Pin
Daniel Turini5-Jul-06 14:18
Daniel Turini5-Jul-06 14:18 
GeneralRe: SQL - Handling Large Volumes of Data Pin
MrEyes5-Jul-06 22:47
MrEyes5-Jul-06 22:47 
GeneralRe: SQL - Handling Large Volumes of Data Pin
Daniel Turini5-Jul-06 23:40
Daniel Turini5-Jul-06 23:40 
Questionhow to make faster Invalidate operation? Pin
Susuko5-Jul-06 13:26
Susuko5-Jul-06 13:26 
QuestionDynamic Crystal Reports Pin
smarttom995-Jul-06 12:57
smarttom995-Jul-06 12:57 
QuestionHow to truncate a value and display it to a grid [modified] Pin
Burn E5-Jul-06 12:25
Burn E5-Jul-06 12:25 
QuestionVirtual shared folder Pin
Bossek5-Jul-06 12:15
Bossek5-Jul-06 12:15 
QuestionHow to create a game trainer in C# ? Pin
bunnyEATINGrabbit5-Jul-06 12:01
bunnyEATINGrabbit5-Jul-06 12:01 
AnswerRe: How to create a game trainer in C# ? Pin
Dustin Metzgar5-Jul-06 12:16
Dustin Metzgar5-Jul-06 12:16 
GeneralRe: How to create a game trainer in C# ? Pin
bunnyEATINGrabbit6-Jul-06 4:09
bunnyEATINGrabbit6-Jul-06 4:09 
QuestionInheritance Question Pin
MartinSmith5-Jul-06 11:41
MartinSmith5-Jul-06 11:41 
AnswerRe: Inheritance Question Pin
Dustin Metzgar5-Jul-06 12:20
Dustin Metzgar5-Jul-06 12:20 
AnswerRe: Inheritance Question Pin
Guffa5-Jul-06 12:23
Guffa5-Jul-06 12:23 
Questionconverting a Image to a byte[] Pin
(Steven Hicks)n+15-Jul-06 11:01
(Steven Hicks)n+15-Jul-06 11:01 
AnswerRe: converting a Image to a byte[] Pin
Bluebamboo5-Jul-06 11:29
Bluebamboo5-Jul-06 11:29 
GeneralRe: converting a Image to a byte[] Pin
(Steven Hicks)n+15-Jul-06 13:36
(Steven Hicks)n+15-Jul-06 13:36 
AnswerRe: converting a Image to a byte[] Pin
Jon Sagara5-Jul-06 11:36
Jon Sagara5-Jul-06 11:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.