📘 ADO.
NET Complete Notes
📌 1. Introduction to ADO.NET
ADO.NET is a part of the .NET Framework used to interact with databases like SQL
Server, Oracle, Access, etc.
Works with connected and disconnected architectures.
Uses XML for data representation and transfer.
🏗 2. ADO.NET Architecture
Connected model: Continuous connection using SqlConnection, SqlCommand,
SqlDataReader.
Disconnected model: Uses DataSet, DataTable, DataAdapter.
🔌 3. Namespaces Required
vb.net
CopyEdit
Imports System.Data
Imports System.Data.SqlClient
🔑 4. Connection Object
SqlConnection: Connects your app to SQL Server.
vb.net
CopyEdit
Dim conn As New SqlConnection("Data Source=SERVER;Initial
Catalog=DB;Integrated Security=True")
conn.Open()
conn.Close()
✍️ 5. Command Object
SqlCommand: Used to execute queries (SELECT, INSERT, UPDATE, DELETE).
vb.net
CopyEdit
Dim cmd As New SqlCommand("SELECT * FROM Users", conn)
Dim reader As SqlDataReader = cmd.ExecuteReader()
CommandType: Text, StoredProcedure, or TableDirect.
📖 6. DataReader (Connected Model)
Forward-only, read-only stream of data.
Fast but requires open connection.
vb.net
CopyEdit
While reader.Read()
Console.WriteLine(reader("Name"))
End While
reader.Close()
🗃 7. DataAdapter (Disconnected Model)
Bridges between DataSet and database.
vb.net
CopyEdit
Dim adapter As New SqlDataAdapter("SELECT * FROM Users", conn)
Dim ds As New DataSet()
adapter.Fill(ds, "Users")
📋 8. DataSet & DataTable
DataSet: In-memory database (multiple tables).
DataTable: Single table structure.
vb.net
CopyEdit
Dim dt As DataTable = ds.Tables("Users")
🔁 9. CRUD Operations
Insert:
vb.net
CopyEdit
Dim cmd As New SqlCommand("INSERT INTO Users (Name) VALUES (@Name)", conn)
cmd.Parameters.AddWithValue("@Name", "John")
cmd.ExecuteNonQuery()
Update:
vb.net
CopyEdit
cmd.CommandText = "UPDATE Users SET Name = @Name WHERE Id = @Id"
cmd.Parameters.AddWithValue("@Id", 1)
Delete:
vb.net
CopyEdit
cmd.CommandText = "DELETE FROM Users WHERE Id = @Id"
🔐 10. Parameterized Queries
Prevent SQL Injection.
Use @paramName with AddWithValue():
vb.net
CopyEdit
cmd.Parameters.AddWithValue("@Name", userInput)
🧵 11. Stored Procedures
sql
CopyEdit
CREATE PROCEDURE GetUser
@Id INT
AS
BEGIN
SELECT * FROM Users WHERE Id = @Id
END
vb.net
CopyEdit
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@Id", 1)
❌ 12. Exception Handling
vb.net
CopyEdit
Try
conn.Open()
' Code here
Catch ex As SqlException
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
🔃 13. Transactions
Ensure data consistency with commit and rollback.
vb.net
CopyEdit
Dim trans As SqlTransaction = conn.BeginTransaction()
cmd.Transaction = trans
Try
cmd.ExecuteNonQuery()
trans.Commit()
Catch
trans.Rollback()
End Try
🧵 14. Data Binding
Windows Forms:
vb.net
CopyEdit
DataGridView1.DataSource = ds.Tables("Users")
Auto-updates UI when data changes.
🧵 15. Common Classes in ADO.NET
Class Purpose
SqlConnection Open and close DB connection
SqlCommand Executes SQL queries
SqlDataReader Reads data forward-only
SqlDataAdapter Fills and updates a DataSet
DataSet Stores data in memory
DataTable Represents one table in memory
SqlTransaction Manages transactions
💡 16. Advantages of ADO.NET
Supports disconnected architecture.
XML-based.
Scalable and fast.
Works with multiple database systems.
📌 17. Limitations
Verbose for simple operations.
Needs careful exception and transaction handling.