ADO.NET中SQL Command的執行

來源:互聯網
上載者:User

在項目裡加入設定檔:

 

<?xml version="1.0" encoding="utf-8" ?><configuration>  <connectionStrings>    <add name ="Students"         providerName ="System.Data.SqlClient"         connectionString ="server=(local); integrated security = SSPI;         database = Students"/>  </connectionStrings></configuration>

下面的代碼裡,包括如何引用設定檔的連接字串,以及SQL Command執行的四種方法:

注意:system.configuration system.Transaction需要手動加入Reference

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.Common;using System.Configuration;using System.Data.SqlClient;using System.Transactions;using System.Xml;namespace SQLConnDemo{    class Program    {        private DbConnection GetDatabaseConnection(string name)        {            ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[name];            DbProviderFactory factory = DbProviderFactories.GetFactory(settings.ProviderName);            DbConnection conn = factory.CreateConnection();            conn.ConnectionString = settings.ConnectionString;            return conn;        }        private static string GetConnectionStringsConfig(string connectionName)        {            string connectionString = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();            Console.WriteLine(connectionString);            return connectionString;        }        static void Main(string[] args)        {            string source = GetConnectionStringsConfig("Students");            try            {                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))                {                    using (SqlConnection conn = new SqlConnection(source))                    {                        // Open the connenction                        conn.Open();                        // ExecuteNonQuery Method Applies to Update, Insert, Delete SQL statement                        string strUpdate = "UPDATE XS " + "SET 備忘 = '已提前修完一門課,並獲得學分' " + "Where 姓名 = '羅琳琳'";                        SqlCommand cmd = new SqlCommand(strUpdate, conn);                        int rowReturned = cmd.ExecuteNonQuery();                        Console.WriteLine("{0} rows returned", rowReturned);                        // ExecuteReader Method                        string strSelect = "SELECT 學號,備忘 FROM XS";                        SqlCommand cmd2 = new SqlCommand(strSelect, conn);                        SqlDataReader reader = cmd2.ExecuteReader();                        while (reader.Read())                        {                            Console.WriteLine("Student ID: {0}", reader[0]);                        }                        reader.Close();                                                // ExecuteScalar Method                        string countselect = "SELECT COUNT(*) FROM XS";                        SqlCommand cmd3 = new SqlCommand(countselect, conn);                        Object o = cmd3.ExecuteScalar();                        Console.WriteLine(o);                                                 // ExecuteXmlReader Method                        string strXmlSelect = "SELECT 學號,備忘 FROM XS" + " FOR XML AUTO";                        SqlCommand cmd4 = new SqlCommand(strXmlSelect, conn);                        XmlReader xr = cmd4.ExecuteXmlReader();                        xr.Read();                        string data;                        do                        {                            data = xr.ReadOuterXml();                            if (!string.IsNullOrEmpty(data))                                Console.WriteLine(data);                        } while (!string.IsNullOrEmpty(data));                        xr.Close();                                              // Do something useful                        //Mark complete                        scope.Complete();                        // Close the connection                        conn.Close();                    }                 }                            }            catch(SqlException ex)            {                // Log the exception                Console.WriteLine(ex.Message);            }        }    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.