Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is ADO.NET?

Tags:

c#

sqlite

I've written a few Access db's and used some light VBA, and had an OO class. Now I'm undertaking to write a C# db app. I've got VS and System.Data.SQLite installed and connected, and have entered my tables and columns, but that's where I'm stuck.

I'm trying to find what info and tutorials I need to look for, but there are a lot of terms I don't understand and I don't know if or exactly how they apply to my project.

I've read definitions for these terms (Wikipedia and elsewhere), but the definitions don't make sense to me because I don't know what they are or how they fit together or which ones are optional or not optional for my project.

Some of the terms on the System.Data.SQLite website (I wanted to use System.Data.SQLite for my db).

I figured my first step in my project would be to get the db and queries set up and tested. Please tell me if there are other pieces of this part of the puzzle I will need to know about, too. If I can figure out what's what, I can start looking for the tutorials I need. (btw, I know I don't want to use an ORM because my app is so simple, and because I want to keep from biting off too much too soon.)

Thank you very much.

SQLite.NET

Framework

ADO.NET

ADO.NET provider

ADO.NET 2.0 Provider for SQLite

Update: Removed "Entity Framework" terms because apparently they are ORM's, which I won't be using.

Also, please talk to me as if I know nothing except what my limited experience (above) covers (unfortunately that's the case since I've gotten so confused while trying to research this stuff, all the terms have overwhelmed me into overload-paralysis.) Thank you.

like image 387
ChrisC Avatar asked Mar 18 '10 15:03

ChrisC


People also ask

What is ADO.NET used for?

ADO.NET provides consistent access to data sources such as SQL Server and XML, and to data sources exposed through OLE DB and ODBC. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, handle, and update the data that they contain.

What is the difference between ADO.NET and ASP Net?

ADO.NET provides different objects like Connection, Command, DataSet, etc., mainly designed to encapsulate all the data access-related processes. These objects also control all interactions with the database to display data. ASP means Active Server Pages. It is a web framework for developing web-based applications.

Is ADO.NET frontend or backend?

ADO.NET is a tool that acts as a bridge between the front end application and the back end database. It provides consistent access to backend technologies such as SQL Server and XML.

What is ADO.NET and its architecture?

ADO.NET is the latest implementation of Microsoft's Universal Data Access strategy. ADO.NET consists of managed classes that allows .NET applications to connect to data sources such as Microsoft SQL Server, Microsoft Access, Oracle, XML, etc., execute commands and manage disconnected data..t.


2 Answers

Loosely, in easy speak

ADO.NET is a library of commands and objects that allow your application to talk to a database. If you have used ADODB in VB6/C++ then ADO.NET is the .net (vb.net/C#) equivalent. ADO.NET provides you with objects such as a connection object, dataset and datareader objects.

ADO.NET provider Think of a provider like a graphics or device driver. Each time you put a different graphics card inside your computer you need to have a new graphics driver to get your graphics card to work at its best. The same is true for ADO.NET, for each different type of database you connect to (e.g Microsoft Access, Microsoft SQL Server, MySQL, Sybase, Oracle etc.) you will need a different ADODB.Net provider. A handful come as standard (for example, the provider for SQL Server)

SQLite.NET Is a database server or RDBMS - think of it as a lightweight competitor to SQL Server or MySQL.

ADO.NET 2.0 Provider for SQLite Combine the last two answers!

SQLite Entity Framework and SQLite Entity Framework provider This is a whole different subject completely. Look up Object Relational Mapping

like image 58
CResults Avatar answered Oct 04 '22 15:10

CResults


There are large amounts of books written to cover this topic ... so this won't be an exhaustive answer, but this will give you the necessary information needed to begin. And it is very much simplified.

ADO.NET is a framework that allows you to manage, in memory, the data retrieved from the database (permanent storage) and connect it to display objects (textboxes, etc). Access databases have all the "layers" contained in it (the form, query, tables) and you don't have to mess too much with the activities to retrieve the information and display them. However, now that you have graduated to a Visual Studio project, you need to manage each of the layers.

  1. Create your database
  2. Populate it with data
  3. Create stored procedures (in the database), or write SQL statements (in the application) to retrieve, insert, delete, update data by using Command objects
  4. Install a data provider (for SQLite, MSSQL, MySQL, Oracle)
  5. Build the User Interface
  6. In the interface Events, create an instance of the a ADO.NET provider Connection, Adapter, and Command/Table objects.
  7. Using the Command objects (and DataReaders), retrieve data using SELECT statements; and subsequently using Update, Insert, Delete statements to put data back.
  8. Update the interface text boxes by referencing the Reader fields.

In parts 3-7 you will do most of your work (the stuff you are asking about); you will be using ADO.net to connect to the data source, using a data provider (SQLite) + connection string (with Catalog name, Username, Password, Connection type). Then, use the objects, like Connections (to connect), Adapters (to build holding areas), and DataTables (tables in memory) to do the data retrieval and actions that get and push the data to/from the database (static permanent data).

like image 21
SnapJag Avatar answered Oct 04 '22 13:10

SnapJag