Heim Backend-Entwicklung C#.Net-Tutorial Was ist ado.net und seine einfachen Implementierungsdetails?

Was ist ado.net und seine einfachen Implementierungsdetails?

May 31, 2017 pm 02:32 PM

1. Einführung

Ado.net ist der Datenanbieter des .net-Frameworks. Es besteht hauptsächlich aus fünf Objekten: SqlConnection, SqlCommand, SqlDataAdapter, SqlDataReader und DataSet wie folgt

1. Die SqlConnection-Klasse stellt eine Verbindung zu einer SQL Server-Datenbank dar

Das Verbindungszeichenfolgenformat hat im Allgemeinen das Folgende zwei Formen, insbesondere Parameter, können sich auf msdn beziehen

1) Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)

2) Server=.; Database=demodb;User =sa;Password=123;

Erstellen Sie eine Verbindung wie folgt

🎜>(connString); 2.SqlCommand Klasse stellt den Datenbankausführungsbefehl dar. Objekt 1) Wird zum Festlegen des SQL-Skripts oder der gespeicherten Prozedur verwendet , Timeout, Parameter und Transaktionen, die ausgeführt werden müssen.

2) Die Erstellungsmethode ist wie folgt:

<.>();

                                                                                                              CreateCommand();

SqlCommand cmd = new SqlCommand

( ); cmd.CommandText = "select * from table"

; cmd .Connection = conn;

3) Mehrere Hauptmethoden ExecuteNonQuery: Führt SQL-Anweisungen für die Verbindung aus und gibt die Anzahl der betroffenen Zeilen zurück, wobei hauptsächlich Operationen zum Hinzufügen, Löschen und Ändern ausgeführt werden

ExecuteReader: Führt die Abfrage aus und gibt das SqlDataReader-Objekt zurück

ExecuteScalar: Führt die Abfrage aus und gibt die erste Zeile und Spalte des Ergebnissatzes zurück

3.SqlDataAdapter Klasse zum Füllen von DataSet und zum Aktualisieren von Datenbankdatenbefehlen und Datenbankverbindungen

Diese Klasse verfügt über 4 Konstruktoren wie folgt

öffentlich SqlDataAdapter();

                                              > public SqlDataAdapter(string

selectCommandText, SqlConnection selectConnection);                                                > string selectConnectionString );

4.SqlDataReader

-Klasse bietet eine reine Datenstream-Möglichkeit zum Lesen 5. Die DataSet-Klasse stellt den Cache dar von Daten im Speicher 2. Einfache Implementierung von ADO.NET Im Folgenden wird eine Hinzufügung, Löschung, Änderung implementiert. Sehen Sie sich das Beispiel an

Der obige Code verwendet using, um die Ressourcenfreigabe sicherzustellen. Alle Klassen, die die IDisposable-Schnittstelle implementieren, können mithilfe von using freigegeben werden, auch wenn die Methode des Objekts aufgerufen wird .

3. Erstellen Sie Datenquellenklasseninstanzen verschiedener Anbieter

Der obige Code gilt nur für SQL Server. Wenn Sie verschiedene Datenbanken wie Oracle implementieren möchten Wenn Sie einen weiteren Codesatz schreiben müssen, stellt .Net die DbProviderFactory-Klasse bereit, um verschiedene Datenbankinstanzen zu erstellen.

Gleichzeitig sollten die oben genannten fünf Hauptobjekte auch durch DbConnection, DbCommand, DbDataReader und DbDataAdapter ersetzt werden, um die spezifischen SQL Server-Objekte in spezifischere Objekte zu abstrahieren, die nichts mit dem Datenbanktyp zu tun haben.


4. Andere Drittanbieter-Frameworks

public class EasySqlHelper
    {
        //web.config来配置
        //private static string connString = ConfigurationManager.AppSettings["SqlConnectionString"];
        private static string connString = "Server=.;Database=demodb;User=sa;Password=123;";

        public static int ExecuteNonQuery(string sql)
        {
            using (SqlConnection conn = new SqlConnection(connString))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (conn.State != ConnectionState.Open)
                    {
                        conn.Open();
                    }

                    return cmd.ExecuteNonQuery();
                }
            }
        }

        public static SqlDataReader ExecuteReader(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader rdr = null;

            try
            {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }

                rdr = cmd.ExecuteReader();
            }
            catch (SqlException ex)
            {
                conn.Dispose();
                cmd.Dispose();

                if (rdr != null)
                {
                    rdr.Dispose();
                }

                throw ex;
            }
            finally
            {
                cmd.Dispose();
            }

            return rdr;
        }

        public static DataTable ExecuteDataTable(string sql)
        {
            using (SqlConnection conn = new SqlConnection(connString))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (conn.State != ConnectionState.Open)
                    {
                        conn.Open();
                    }

                    SqlDataAdapter adp = new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    adp.Fill(ds);

                    return ds.Tables[0];
                }
            }
        }
    }
Nach dem Login kopieren

Es gibt Dapper, IBatis.Net usw., Sie können Weitere Informationen finden Sie unter

[Verwandte Empfehlungen]1.

ASP.NET kostenloses Video-Tutorial

2 zum Aktualisieren und Hinzufügen von Daten zur Excel-Tabellenmethode


3 .NET-Aufruf Gespeicherte Prozedur

//// <summary>
    /// 连接信息
    /// </summary>
    public class ConnectionInfo
    {
        private string _connectionString;
        private string _providerName;

        /// <summary>
        /// 连接字符串
        /// </summary>
        public string ConnectionString
        {
            get { return _connectionString; }
        }

        /// <summary>
        /// 提供程序的固定名称
        /// </summary>
        public string ProviderName
        {
            get { return _providerName; }
        }

        public ConnectionInfo(string connectionString, string providerName)
        {
            _connectionString = connectionString;
            _providerName = providerName;
        }
    }

    public class MySqlHelper
    {
        private static DbProviderFactory dbProvider;

        private static readonly ConnectionInfo connInfo = new ConnectionInfo("Server=.;Database=demodb;User=sa;Password=123;", "System.Data.SqlClient");

        private static void GetProvider()
        {
            dbProvider = DbProviderFactories.GetFactory(connInfo.ProviderName);
        }

        static MySqlHelper()
        {
            GetProvider();
        }

        public static int ExecuteNonQuery(string sql, DbParameter[] parameters)
        {
            int flag = 0;

            using (DbConnection conn = dbProvider.CreateConnection())
            {
                conn.ConnectionString = connInfo.ConnectionString;
                conn.Open();

                using (DbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;

                    if (parameters != null && parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }

                    flag = cmd.ExecuteNonQuery();
                }
            }

            return flag;
        }

        public static void ExecuteReader(string sql, DbParameter[] parameters, Action<IDataReader> action)
        {
            IDataReader rdr = null;
            
            using (DbConnection conn = dbProvider.CreateConnection())
            {
                conn.ConnectionString = connInfo.ConnectionString;
                conn.Open();

                using (DbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;

                    if (parameters != null && parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }

                    rdr = cmd.ExecuteReader();

                    action(rdr);

                    rdr.Close();
                }
            }
        }

        public static DataTable ExecuteDataTable(string sql, DbParameter[] parameters)
        {
            DataTable dt = null;

            using (DbConnection conn = dbProvider.CreateConnection())
            {
                conn.ConnectionString = connInfo.ConnectionString;
                conn.Open();

                using (DbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;

                    if (parameters != null && parameters.Length > 0)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }

                    IDataReader rdr = cmd.ExecuteReader();

                    dt = new DataTable();
                    dt.Load(rdr);

                    rdr.Close();
                    
                }

                return dt;
            }
        }
    }
Nach dem Login kopieren

5. ado.net-Verbindung vs. Datenbankcode

Das obige ist der detaillierte Inhalt vonWas ist ado.net und seine einfachen Implementierungsdetails?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So schreiben Sie ein einfaches Online-Fragebogensystem mit PHP So schreiben Sie ein einfaches Online-Fragebogensystem mit PHP Sep 24, 2023 am 10:21 AM

So schreiben Sie ein einfaches Online-Fragebogensystem mit PHP Mit der Entwicklung und Popularisierung des Internets neigen immer mehr Menschen dazu, verschiedene Umfragen und Fragebögen über das Internet durchzuführen. Um dieser Nachfrage gerecht zu werden, können wir mithilfe der PHP-Sprache ein einfaches Online-Fragebogensystem schreiben. In diesem Artikel wird die Verwendung von PHP zur Implementierung eines grundlegenden Fragebogensystems vorgestellt und spezifische Codebeispiele bereitgestellt. Datenbankdesign Zuerst müssen wir eine Datenbank entwerfen, um fragebogenbezogene Daten zu speichern. Wir können MySQL-Daten verwenden

So implementieren Sie ein einfaches Online-Bestellsystem mit PHP So implementieren Sie ein einfaches Online-Bestellsystem mit PHP Sep 26, 2023 am 09:29 AM

So implementieren Sie mit PHP ein einfaches Online-Bestellsystem Mit der Popularität des Internets entwickelt sich die Bestellbranche allmählich online. Um den Bedürfnissen der Nutzer gerecht zu werden, ist die Entwicklung von Online-Bestellsystemen sehr wichtig geworden. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Sprache ein einfaches Online-Bestellsystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. Definieren Sie die Datenbankstruktur. Zuerst müssen wir die Datenbankstruktur definieren, um Bestellinformationen zu speichern. Erstellen Sie eine Datentabelle mit dem Namen „orders“ und definieren Sie die folgenden Felder: order_id: Bestell-ID

Wie man mit PHP eine einfache Produktbewertungsfunktion entwickelt Wie man mit PHP eine einfache Produktbewertungsfunktion entwickelt Sep 21, 2023 am 08:49 AM

So entwickeln Sie mit PHP eine einfache Produktbewertungsfunktion Mit dem Aufkommen des E-Commerce ist die Produktbewertungsfunktion zu einer unverzichtbaren Funktion geworden, um die Kommunikation zwischen Benutzern und Verbrauchern bei der Bewertung von Produkten zu erleichtern. In diesem Artikel wird erläutert, wie Sie mit PHP eine einfache Produktbewertungsfunktion entwickeln und spezifische Codebeispiele anhängen. Erstellen Sie eine Datenbank. Zuerst müssen wir eine Datenbank erstellen, um Produktbewertungsinformationen zu speichern. Erstellen Sie eine Datenbank mit dem Namen „product_comments“ und darin eine Datei mit dem Namen „comment

So implementieren Sie ein einfaches Online-Bestellsystem mit PHP So implementieren Sie ein einfaches Online-Bestellsystem mit PHP Jun 27, 2023 pm 02:21 PM

Heute werden wir ein einfaches Online-Bestellsystem mithilfe der Programmiersprache PHP implementieren. PHP ist eine beliebte serverseitige Skriptsprache, die sich ideal für die Entwicklung webbasierter Anwendungen eignet. Wir zeigen, wie man mit PHP ein einfaches Bestellsystem erstellt, mit dem Benutzer Artikel auf der Website auswählen, in den Warenkorb legen und schließlich die Transaktion abschließen können. Bevor wir beginnen, müssen wir ein neues PHP-Projekt erstellen und die notwendigen Abhängigkeiten wie Datenbank und Serverumgebung installieren. Wir werden MySQ verwenden

So implementieren Sie ein einfaches Online-Einkaufszentrum mit PHP So implementieren Sie ein einfaches Online-Einkaufszentrum mit PHP Sep 25, 2023 pm 02:25 PM

So implementieren Sie mit PHP ein einfaches Online-Einkaufszentrum Mit der Entwicklung des Internets ist E-Commerce zu einer gängigen Art des Einkaufens geworden. Viele Menschen möchten lernen, wie sie ihren eigenen Online-Shop aufbauen. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Sprache ein einfaches Online-Einkaufszentrum implementieren, und es werden spezifische Codebeispiele aufgeführt. 1. Umgebung einrichten Zuerst müssen wir lokal eine PHP-Entwicklungsumgebung einrichten. Es wird empfohlen, XAMPP- oder WAMP-Tools zum Aufbau einer integrierten Entwicklungsumgebung zu verwenden, wodurch langwierige Konfigurationsarbeiten vermieden werden können. 2. Erstellen Sie eine Datenbankverbindung

Wie man mit PHP eine einfache Produktvergleichsfunktion entwickelt Wie man mit PHP eine einfache Produktvergleichsfunktion entwickelt Sep 21, 2023 am 08:09 AM

Für die Entwicklung einer einfachen Produktvergleichsfunktion mit PHP sind spezifische Codebeispiele erforderlich. Mit der Entwicklung des E-Commerce stoßen Benutzer beim Einkaufen häufig auf Schwierigkeiten bei der Produktauswahl, z. B. wenn sie nicht wissen, welche Produktmarke besser ist und welches Geschäft sie hat der beste Preis. Günstiger usw. Um dieses Problem zu lösen, können wir eine einfache Produktvergleichsfunktion entwickeln, die Benutzern hilft, die Eigenschaften von Produkten einfach zu vergleichen und Entscheidungen zu treffen. In diesem Artikel wird erläutert, wie Sie diese Funktion mit PHP implementieren, und es werden spezifische Codebeispiele aufgeführt. Zuerst müssen wir ein Produkt erstellen

Wie man mit PHP ein einfaches Online-Talentrekrutierungssystem implementiert Wie man mit PHP ein einfaches Online-Talentrekrutierungssystem implementiert Sep 26, 2023 pm 11:49 PM

So implementieren Sie mit PHP ein einfaches Online-Talentrekrutierungssystem. Die Talentrekrutierung ist ein wichtiges Glied in der Unternehmensentwicklung. Mit der Entwicklung des Internets haben immer mehr Unternehmen begonnen, Online-Talentrekrutierungssysteme einzuführen, um den Rekrutierungsprozess zu vereinfachen und die Effizienz zu verbessern. In diesem Artikel stellen wir die Verwendung der PHP-Sprache zur Implementierung eines einfachen Online-Talentrekrutierungssystems vor und stellen spezifische Codebeispiele bereit. 1. Anforderungsanalyse Vor der Implementierung des Online-Talent-Recruiting-Systems ist es zunächst notwendig, die Systemanforderungen zu klären. Ein einfaches Talent-Rekrutierungssystem umfasst normalerweise die folgenden Funktionen:

Wie entwerfe ich ein einfaches Lehrplanverwaltungssystem in Java? Wie entwerfe ich ein einfaches Lehrplanverwaltungssystem in Java? Nov 04, 2023 pm 03:32 PM

Wie entwerfe ich ein einfaches Lehrplanverwaltungssystem in Java? Mit der Entwicklung des Bildungswesens und der Diversifizierung der Kurse benötigen Schulen und Bildungseinrichtungen ein effizientes Kursverwaltungssystem, um die täglichen Kursvereinbarungen und -anpassungen zu bewältigen. Als weit verbreitete Programmiersprache stellt uns Java eine Fülle von Tools und Bibliotheken zur Verfügung, mit denen wir ein einfaches und praktisches Kursplanverwaltungssystem entwerfen und entwickeln können. Bevor wir ein Lehrplanmanagementsystem entwerfen, müssen wir die funktionalen Anforderungen des Systems klären. Im Allgemeinen muss ein Curriculum-Management-System die folgenden Funktionen implementieren: Kurse verwalten

See all articles