/*
* C# Programmers Pocket Consultant
* Author: Gregory S. MacBeth
* Email: gmacbeth@comporium.net
* Create Date: June 27, 2003
* Last Modified Date:
* Version: 1
*/
using System;
using System.Data;
using System.Data.SqlClient;
namespace Client.Chapter_13___ADO.NET
{
public class DeletingDataUsingCommandBuilder
{
static void Main(string[] args)
{
SqlConnection MyConnection = new SqlConnection(@"Data Source=(local); Initial Catalog = CaseManager; Integrated Security=true");
SqlDataAdapter MyDataAdapter = new SqlDataAdapter("SELECT * FROM Test", MyConnection);
SqlCommandBuilder MyCmd = new SqlCommandBuilder(MyDataAdapter);
DataSet MyDataSet = new DataSet();
MyDataAdapter.Fill(MyDataSet);
DataColumn[] MyKey = new DataColumn[1];
MyKey[0] = MyDataSet.Tables[0].Columns[0];
MyDataSet.Tables[0].PrimaryKey = MyKey;
DataRow FindMyRow = MyDataSet.Tables[0].Rows.Find(1);
FindMyRow.Delete();
MyDataAdapter.Update(MyDataSet);
}
}
}
Database ADO.net
use the ExecuteNonQuery() method to run INSERT, UPDATE,and DELETE statements
using System;
using System.Data;
using System.Data.SqlClient;
class ExecuteInsertUpdateDelete
{
public static void DisplayRow(SqlCommand mySqlCommand, string ID){
mySqlCommand.CommandText ="SELECT ID, FirstName FROM Employee WHERE ID = '" + ID + "'";
SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
while (mySqlDataReader.Read())
{
Console.WriteLine("mySqlDataReader[" ID"] = " +
mySqlDataReader["ID"]);
Console.WriteLine("mySqlDataReader[" FirstName"] = " +
mySqlDataReader["FirstName"]);
}
mySqlDataReader.Close();
}
public static void Main()
{
SqlConnection mySqlConnection =new SqlConnection("server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;");
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText ="INSERT INTO Employee (ID, FirstName) VALUES (" +
" 9, 'Jason')";
mySqlConnection.Open();
int numberOfRows = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("Number of rows added = " + numberOfRows);
DisplayRow(mySqlCommand, "9");
mySqlCommand.CommandText = "UPDATE Employee SET FirstName = 'New' WHERE ID = '9'";
numberOfRows = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("Number of rows updated = " + numberOfRows);
DisplayRow(mySqlCommand, "9");
mySqlCommand.CommandText ="DELETE FROM Employee WHERE ID = '9'";
numberOfRows = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("Number of rows deleted = " + numberOfRows);
mySqlConnection.Close();
}
}
GetFactoryClasses, GetFactory
using System;
using System.Data;
using System.Data.Common;
class MainClass {
public static void Main(string[] args) {
using (DataTable providers = DbProviderFactories.GetFactoryClasses()) {
foreach (DataRow prov in providers.Rows) {
Console.WriteLine(" Name:{0}", prov["Name"]);
Console.WriteLine(" Description:{0}", prov["Description"]);
Console.WriteLine(" Invariant Name:{0}",prov["InvariantName"]);
}
}
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
using (IDbConnection con = factory.CreateConnection()) {
con.ConnectionString = @"Data Source = .sqlexpress;Database = Northwind; Integrated Security=SSPI";
using (IDbCommand com = con.CreateCommand()) {
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "Ten Most Expensive Products";
con.Open();
using (IDataReader reader = com.ExecuteReader()) {
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Price of the Ten Most Expensive Products.");
while (reader.Read()) {
Console.WriteLine(" {0} = {1}", reader["TenMostExpensiveProducts"], reader["UnitPrice"]);
}
}
}
}
}
}
Create Connection
using System;
using System.Data;
using System.Data.Common;
class MainClass {
public static void Main(string[] args) {
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
using (IDbConnection con = factory.CreateConnection()) {
con.ConnectionString = @"Data Source = .sqlexpress;Database = Northwind; Integrated Security=SSPI";
using (IDbCommand com = con.CreateCommand()) {
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "Ten Most Expensive Products";
con.Open();
using (IDataReader reader = com.ExecuteReader()) {
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Price of the Ten Most Expensive Products.");
while (reader.Read()) {
Console.WriteLine(" {0} = {1}", reader["TenMostExpensiveProducts"], reader["UnitPrice"]);
}
}
}
}
}
}
Use DB2Connection class to connect to a DB2 database
using System;
using System.Data;
using IBM.Data.DB2;
class Db2Connect{
static void Main() {
string connString = @"database = sample;";
DB2Connection conn = new DB2Connection(connString);
try {
conn.Open();
Console.WriteLine("Connection opened.");
// Display connection properties
Console.WriteLine("Connection Properties:");
Console.WriteLine(" Connection String: {0}", conn.ConnectionString);
Console.WriteLine(" Database: {0}",conn.Database);
Console.WriteLine(" ServerVersion: {0}",conn.ServerVersion);
Console.WriteLine(" State: {0}",conn.State);
} catch (DB2Exception e) {
Console.WriteLine("Error: " + e);
} finally {
conn.Close();
Console.WriteLine("Connection closed.");
}
}
}
OleDbConnection Connect to DB2: DB2 connection string
using System;
using System.Data;
using System.Data.OleDb;
class Db2Connect{
static void Main() {
string connString = @"provider = IBMDADB2.1;persist security info = false;data source = sample;";
OleDbConnection conn = new OleDbConnection(connString);
try
{
conn.Open();
Console.WriteLine("Connection opened.");
Console.WriteLine("Connection Properties:");
Console.WriteLine(" Connection String: {0}", conn.ConnectionString);
Console.WriteLine(" Database: {0}",conn.Database);
Console.WriteLine(" DataSource: {0}",conn.DataSource);
Console.WriteLine(" ServerVersion: {0}",conn.ServerVersion);
Console.WriteLine(" State: {0}",conn.State);
} catch (OleDbException e) {
Console.WriteLine("Error: " + e);
} finally {
conn.Close();
Console.WriteLine("Connection closed.");
}
}
}
use the Find() and FindRows() methods of a DataView to find DataRowView objects
using System;
using System.Data;
using System.Data.SqlClient;
class FindingDataRowViews {
public static void Main() {
SqlConnection mySqlConnection =
new SqlConnection(
“server=localhost;database=Northwind;uid=sa;pwd=sa”
);
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText =
“SELECT CustomerID, CompanyName, Country ” +
“FROM Customers”;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
mySqlDataAdapter.SelectCommand = mySqlCommand;
DataSet myDataSet = new DataSet();
mySqlConnection.Open();
mySqlDataAdapter.Fill(myDataSet, “Customers”);
mySqlConnection.Close();
DataTable customersDT = myDataSet.Tables[“Customers”];
string filterExpression = “Country = 'UK'”;
string sortExpression = “CustomerID”;
DataViewRowState rowStateFilter = DataViewRowState.OriginalRows;
DataView customersDV = new DataView();
customersDV.Table = customersDT;
customersDV.RowFilter = filterExpression;
customersDV.Sort = sortExpression;
customersDV.RowStateFilter = rowStateFilter;
foreach (DataRowView myDataRowView in customersDV) {
for (int count = 0; count < customersDV.Table.Columns.Count; count++) {
Console.WriteLine(myDataRowView[count]);
}
Console.WriteLine("");
}
int index = customersDV.Find("BSBEV");
Console.WriteLine("BSBEV found at index " + index + "
");
DataRowView[] customersDRVs = customersDV.FindRows("BSBEV");
foreach (DataRowView myDataRowView in customersDRVs) {
for (int count = 0; count < customersDV.Table.Columns.Count; count++) {
Console.WriteLine(myDataRowView[count]);
}
Console.WriteLine("");
}
}
}
[/csharp]