• ADO.NET中SQL Command的执行


    在项目里加入配置文件:

    <?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);
                }
            }
        }
    }
    
  • 相关阅读:
    利用JS实现的根据经纬度计算地球上两点之间的距离
    html中meta标签作用详解
    Jquery Highcharts 参数配置说明
    Properties类的使用示例
    利用数据库模版创建方便部署的.Net项目调试环境
    ASP.NET修改Web.Config文件(对xml的操作)
    创建动态数据输入用户界面
    DataGrid相关知识总结(收集自各位老大处)
    在C#.net中如何操作XML
    C#中使用反射的性能分析
  • 原文地址:https://www.cnblogs.com/herbert/p/1774460.html
Copyright © 2020-2023  润新知