Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
C# 2.0 Return DataReader object
Message
 
 
À
09/03/2012 14:45:20
John Baird
Coatesville, Pennsylvanie, États-Unis
Information générale
Forum:
ASP.NET
Catégorie:
Autre
Versions des environnements
Environment:
C# 2.0
Divers
Thread ID:
01537785
Message ID:
01537924
Vues:
26
>Forget that hungarian crap that Michel uses.... program to the interface...
>
>
>
>
>
>using System;
>using System.Data;
>using System.Data.Common;
>using System.Data.OleDb;
>using System.Data.SqlClient;
>using Microsoft.Data.Odbc;
>
>namespace GenericDataAccessApp
>{
>    public class GenericAdoNetComp
>    {
>        private IDbConnection idbConn = null;
>        private IDbDataAdapter idbAdapter = null;
>        private DbDataAdapter dbAdapter = null;
>        private IDataReader iReader = null;
>
>        public GenericAdoNetComp()
>        {
>        }
>
>        // GetConnection returns IDbConnection
>        public IDbConnection GetConnection(int connType,
>        string connString)
>        {
>            switch (connType)
>            {
>                case 1: // OleDb Data Provider
>                    idbConn = new OleDbConnection(connString);
>                    break;
>                case 2: // Sql Data Provider
>                    idbConn = new SqlConnection(connString);
>                    break;
>                case 3: // ODBC Data Provider
>                    idbConn = new OdbcConnection(connString);
>                    break;
>                // case 3: // Add your custom data provider
>                default:
>                    break;
>            }
>            return idbConn;
>        }
>
>        // GetDataAdapter returns IDbDataAdapter
>        public IDbDataAdapter GetDataAdapter(int connType,
>        string connString, string sql)
>        {
>            switch (connType)
>            {
>                case 1: // OleDb Data Provider
>                    idbAdapter = new OleDbDataAdapter(sql, connString);
>                    break;
>                case 2: // Sql Data Provider
>                    idbAdapter = new SqlDataAdapter(sql, connString);
>                    break;
>                case 3: // ODBC Data Provider
>                    idbAdapter = new OdbcDataAdapter(sql, connString);
>                    break;
>                // case 3: // Add your custom data provider
>                default:
>                    break;
>            }
>            return idbAdapter;
>        }
>    }
>
>
>}
>
>
>
>public class Client
>{
>    private void ConnectBtn_Click(object sender, System.EventArgs e)
>    {
>        GenericAdoNetComp genDP = new GenericAdoNetComp();
>        sql = "SELECT * FROM Employees";
>
>        if (radioButton1.Checked)
>        {
>            connString =
>            "Provider=Microsoft.Jet.OLEDB.4.0; Data
>Source=c:\\Northwind.mdb";
>            conn = genDP.GetConnection(1, connString);
>            adapter = genDP.GetDataAdapter(1, connString, sql);
>        }
>        else if (radioButton2.Checked)
>        {
>            connString =
>            "Data Source=MCB;Initial Catalog=Northwind;user
>id=sa;password=;";
>            conn = genDP.GetConnection(2, connString);
>            adapter = genDP.GetDataAdapter(2, connString, sql);
>        }
>        else if (radioButton3.Checked)
>        {
>            // Construct your connection string here
>            conn = genDP.GetConnection(3, connString);
>            adapter = genDP.GetDataAdapter(3, connString, sql);
>        }
>
>        try
>        {
>            conn.Open();
>            // Fill a DataSet
>            DataSet ds = new DataSet();
>            adapter.Fill(ds);
>            dataGrid1.DataSource = ds.Tables[0].DefaultView;
>        }
>        catch (Exception exp)
>        {
>            MessageBox.Show(exp.Message);
>        }
>        finally
>        {
>            conn.Close();
>        }
>    }
>
>}
>
>
Another question I have on the code above (sorry for addressing the question to you, John, but it is rather to anyone who could see what I am missing). On the client side, why the variables 'conn' and 'adapter' are not declared? In my tests this causes an error. But maybe I am missing something. I would appreciate your help.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform