Hi Everyone,
I have been writing xBase applications for many years but I am new to
VB/SQL for larger applications.
In xBase, I would start the main program (form) by opening up all the
datafiles (dbf) and indexes (cdx) that I would need to reference
throughout the application. I would also keep these files open
throughout the application.
I know how to declare and use SqlConnection, SqlDataAdapter, DataSet to
get a simple grid on a form. My problem occurs when I want to have many
different tables opened (many filtered) through out the application.
My questions:
- What is the equivalent way to do this in VB? (open several tables at
the start)
- Where and how do I declare the connections (SqlCon, DataAdapters,
Datset)? At the top of the main form? In a code module? As public
variable?
- Is it best to filter and sort tables via DataViews?
Thanks
Richard 5 1240
Richard,
The best way is to begin.
You can for that choose if you go the way of the designer method or do all
in code.
When you choose the desigener route, than you will probably see that after a
while you go to the coded way.
In both situations have a look first what is a dataset, as I try to describe
it beneath as simple that I can do.
A dataset is nothing more than an object that keeps together one or more
datatables.
Those datatables have rows(objects) and those have items(objects). The items
are described in the datatable columns. A dataset can as well hold
datarelations.
Therefore what method you take, keep an eye that you don't create all kind
of datasets. One is normally for your application enough (It can be that you
want to use it for by instance webservice or whatever. Than you will see
that you will create more).
You can however create as much datatables as you wish in a dataset. Every
datatable, or combined datatable, needs his own SQL string. You can use one
datadapter from which you change everytime the SQLstring. Probably is more
easy to create for every datatable that you use its own dataadatapter.
And comming back on your main question. Because it is disconnected. Keep as
less data in your tables as you are possible to do, it is better to do more
times updates. And therefore don't start to load all your tables at your
client. When you work with Net try than to work as it was for a PDA or that
you had to sent the data over the Internet.
I hope this gives some idea's?
Cor
Are you going to be using dbf tables ?
if so: we have common ground, in short this is a waste of time in
straight vb using oledb or similar, odbc is very slow on large dbf
tables (eg. > 100Mb)
the best article i've read on this was at http://www.west-wind.com/
post reading this, I've constructed my own dbf wrapper and am happily
still access data using very traditional seeks, open, closes
Richard Fagen wrote: Hi Everyone,
I have been writing xBase applications for many years but I am new to VB/SQL for larger applications.
In xBase, I would start the main program (form) by opening up all the datafiles (dbf) and indexes (cdx) that I would need to reference throughout the application. I would also keep these files open throughout the application.
I know how to declare and use SqlConnection, SqlDataAdapter, DataSet to get a simple grid on a form. My problem occurs when I want to have many different tables opened (many filtered) through out the application.
My questions: - What is the equivalent way to do this in VB? (open several tables at the start)
- Where and how do I declare the connections (SqlCon, DataAdapters, Datset)? At the top of the main form? In a code module? As public variable?
- Is it best to filter and sort tables via DataViews?
Thanks
Richard
the article a west wind was; http://www.west-wind.com/presentatio...ASPObjects.htm
also applies to vb
dave bray wrote: Are you going to be using dbf tables ? if so: we have common ground, in short this is a waste of time in straight vb using oledb or similar, odbc is very slow on large dbf tables (eg. > 100Mb)
the best article i've read on this was at http://www.west-wind.com/
post reading this, I've constructed my own dbf wrapper and am happily still access data using very traditional seeks, open, closes
Richard Fagen wrote:
Hi Everyone,
I have been writing xBase applications for many years but I am new to VB/SQL for larger applications.
In xBase, I would start the main program (form) by opening up all the datafiles (dbf) and indexes (cdx) that I would need to reference throughout the application. I would also keep these files open throughout the application.
I know how to declare and use SqlConnection, SqlDataAdapter, DataSet to get a simple grid on a form. My problem occurs when I want to have many different tables opened (many filtered) through out the application.
My questions: - What is the equivalent way to do this in VB? (open several tables at the start)
- Where and how do I declare the connections (SqlCon, DataAdapters, Datset)? At the top of the main form? In a code module? As public variable?
- Is it best to filter and sort tables via DataViews?
Thanks
Richard
Hi Cor,
I had a feeling that the designer method is just for beginners to learn
how to do things. Once you get beyond 2-3 tables, it gets more
complicated and I agree it is best to code things so you get a better
understanding as well as more control. You can for that choose if you go the way of the designer method or do all in code. When you choose the desigener route, than you will probably see that after a while you go to the coded way.
I like your description of a dataset. Things are starting to make more
sense now :) In both situations have a look first what is a dataset, as I try to describe it beneath as simple that I can do.
Thanks for the tip. I was thinking about having a data adapter and
dataset for each table of the database. From your message, it appears
that I can put multiple tables in a single dataset and greatly simplify
things. I will do more experimenting with my test application using a
single dataset.
Therefore what method you take, keep an eye that you don't create all kind of datasets. One is normally for your application enough (It can be that you want to use it for by instance webservice or whatever. Than you will see that you will create more).
Thanks again for the tip. I did a small test application where I loaded
500,000 rows of data into a dataset and then binded it to a datagrid. I
was able to then filter/sort that grid in seconds, but I realized I read
500,000 rows :)
From your message, it seems like a better idea to filter the request
before filling the dataset via the data adapter (from user input like
get only those rows for customer X from 2002-2004)
You are right, it seems to make more sense to work with smaller number
of rows and then make another read request for another set of rows.
And comming back on your main question. Because it is disconnected. Keep as less data in your tables as you are possible to do, it is better to do more times updates. And therefore don't start to load all your tables at your client. When you work with Net try than to work as it was for a PDA or that you had to sent the data over the Internet.
Yes, you have given me several ideas to test out. Thank you! I hope this gives some idea's?
Richard
Hi Dave,
Yes, I was 'thinking' about accessing some old DBF files that are still
being used.
Saying that, I've been reading a few great SQL books and I've
experimented by importing DBF files and the speed of SQL just blows me
away. While I have to experiment a bit more, at this point, I don't see
why everyone shouldn't import DBF into the more robust SQL format.
Of course, we all have to live with legacy applications and it would be
great to have a new VB/SQL application reference older DBF files in
parallel:)
I'll check out the link.
Thanks for the idea.
Richard
dave bray wrote: Are you going to be using dbf tables ? if so: we have common ground, in short this is a waste of time in straight vb using oledb or similar, odbc is very slow on large dbf tables (eg. > 100Mb)
the best article i've read on this was at http://www.west-wind.com/
post reading this, I've constructed my own dbf wrapper and am happily still access data using very traditional seeks, open, closes This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Chris Uwins |
last post by:
Hi there, i know theres a number of ways I can achieve this but want
to know the best, (but still quite simple).
Up until a year ago I never used Access but have designed a few
databases for...
|
by: Paul Wagstaff |
last post by:
Hi All
Can I have some feedback on the best way to access data held in an mdb on a
separate server over a LAN (and WAN for that matter). I currently use DoCmd
to bring in the relevant tables...
|
by: Daisy |
last post by:
Let's say I've got a forum, where users can be moderators of each forum.
Tables look like this:
USER
--------
user_key
name
FORUM
|
by: John Smith |
last post by:
Hey folks,
I'm writing a Windows application which has many forms which have Datagrids
on them to display data. These datagrids will not be editable in anyway.
They are there to just view the...
|
by: Anonieko Ramos |
last post by:
ASP.NET Forms Authentication Best Practices
Dr. Dobb's Journal February 2004
Protecting user information is critical
By Douglas Reilly
Douglas is the author of Designing Microsoft ASP.NET...
|
by: py_genetic |
last post by:
I have an H5 file with one group (off the root) and two large main
tables and I'm attempting to aggragate my data into 50+ new groups (off
the root) with two tables per sub group.
sys info:...
|
by: processoriented |
last post by:
I am trying to find the best approach to do something here...
situation is this... One of the tables in my dataset is a "Work Order"
table with information about what needs to be done and where. ...
|
by: bigHairy |
last post by:
Hello.
I have been teaching myself .NET over the last few months and have had
some success. I would like to ask a question though...
A number of examples I have followed have the following in...
|
by: Rhadamanthys |
last post by:
Hello All
I am a relative beginner to SQL databases & new to this forum, so please bear with me if my query is too basic and advise if this question belongs somewhere else
I began working at a...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |