1  : App.config

    
      
    
    
        
    
    
         
    

添加App.config

improtant :

    
      
    

add Quote

code :

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Configuration;using System.Data.SqlClient;using System.Data;namespace SQLHandel.SQL{    ///     /// 注意此类    ///     public class SqlConnectionDemo    {        private readonly string CONN_LINK = ConfigurationManager.ConnectionStrings["ConnLink"].ToString();        // ConfigurationManager.AppSettings["test"]; 得到XXXXX        public SqlConnectionDemo()        {             //test            Console.WriteLine("我得到的链接数据库的连接字符串 - > " + this.CONN_LINK);        }        ///         /// 链接数据库        ///         /// 
是否连接成功
        public bool ConnDB()        {            SqlConnection conn = new SqlConnection(this.CONN_LINK);            bool connOK = false;            try            {                conn.Open();                connOK = true;            }            catch (Exception e)            {                Console.WriteLine(e.Message);            }            finally            {                conn.Close();            }            return connOK;        }        ///         /// 使用SqlDataReader 来获取数据        ///         public void getDataWithDataReader()        {            //注意 , 这一使用using , 确保conn对象的释放            using (SqlConnection conn = new SqlConnection(this.CONN_LINK))            {                string sql = "select * from Users where UserType = @UserType";                SqlParameter spt1 = new SqlParameter("UserType", SqlDbType.Int); // 注意 : SqlDbType 引用 using System.Data;                spt1.Value = 1;//占位赋值                SqlCommand scd = new SqlCommand();                scd.Connection = conn;                scd.CommandText = sql;                scd.Parameters.Add(spt1);//加入到Commend 中                // 注意打开数据库连接                conn.Open();                SqlDataReader dr = scd.ExecuteReader(); // 注 : SqlDataReader 没有构造函数                while (dr.Read())//Read() 相当于一个指针 , 每读一次向下移动以为  .                {                    Console.WriteLine("我得到的数据 DataReader-------------------------");                    Console.WriteLine("UserId : " + dr["UserId"].ToString());                    Console.WriteLine("Sid : " + dr["Sid"].ToString());                    Console.WriteLine("UserType : " + dr["UserType"].ToString());                    Console.WriteLine("AuthType : " + dr["AuthType"].ToString());                    Console.WriteLine("UserName : " + dr["UserName"].ToString());                }                dr.Dispose();                scd.Dispose();                conn.Close();            }        }        ///         /// 私用DataSet获得数据集(本人建议使用)        ///         public void getDataWithDataSet()        {            using (SqlConnection conn = new SqlConnection(this.CONN_LINK))            {                string sql = "select * from Users where UserType = @UserType ";                SqlDataAdapter sda = new SqlDataAdapter();                DataSet ds = new DataSet("Kayer"); //  虚拟库名                SqlCommand scd = new SqlCommand();                scd.CommandText = sql;                scd.Connection = conn;                SqlParameter spt1 = new SqlParameter("UserType", SqlDbType.Int);                spt1.Value = 1;                scd.Parameters.Add(spt1);                sda.SelectCommand = scd;                sda.Fill( ds, "users"); // 虚拟表名                // 对数据的解析                //第一种遍历的方式                //foreach (DataRow dr in ds.Tables["users"].Rows)                //{                //    //遍历列                //    Console.WriteLine("我得到的数据 数据 DataSet ----------------------------------");                //    foreach (DataColumn dc in ds.Tables["users"].Columns)                //    {                //        Console.WriteLine(" 列 : {0} , 数据 : {1} ", dc.ColumnName, dr[dc.ColumnName]);                //    }                //}                //第二种遍历的方式                for (int i = 0; i < ds.Tables["users"].Rows.Count; i += 1)                {                    Console.WriteLine("我得到的数据 数据 DataSet ----------------------------------");                    for (int j = 0; j < ds.Tables["users"].Columns.Count; j += 1)                    {                        Console.WriteLine(" 列 : {0} , 数据 : {1} ", ds.Tables["users"].Columns[j].ColumnName, ds.Tables["users"].Rows[i][j]);                    }                }                ds.Dispose();                sda.Dispose();            }        }        ///         /// 运行无参存储过程        ///         public void ProNoPramHandler()        {            using (SqlConnection conn = new SqlConnection(this.CONN_LINK))            {                SqlCommand scd = new SqlCommand("ProNameNoParams", conn);                scd.CommandType = CommandType.StoredProcedure;                conn.Open();                scd.ExecuteNonQuery();                scd.Dispose();                conn.Dispose();            }        }        ///         /// 运行有参存储过程        ///         public void ProHaspramHander()        {            using (SqlConnection conn = new SqlConnection(this.CONN_LINK))            {                SqlCommand scd = new SqlCommand();                scd.Connection = conn;                scd.CommandText = "ProNameNoParams";//存储过程的名称                scd.CommandType = CommandType.StoredProcedure;                SqlParameter spt = new SqlParameter("@ParameterName", SqlDbType.Int);//存储过程的参数                 spt.Direction = ParameterDirection.Input; // 输入参数                spt.Value = 1;//赋值                scd.Parameters.Add(spt);                conn.Open();                scd.ExecuteNonQuery();                scd.Dispose();                conn.Close();                conn.Dispose();            }        }        ///         /// 运行有返回值存储过程        ///         public void ProHasReturnHandler()        {            using (SqlConnection conn = new SqlConnection(this.CONN_LINK))            {                SqlCommand scd = new SqlCommand();                scd.Connection = conn;                scd.CommandText = "ProHasReturn";                scd.CommandType = CommandType.StoredProcedure;                SqlParameter spt = new SqlParameter("@id", SqlDbType.Int);                spt.Direction = ParameterDirection.Output;//存储过程返回参数设置                scd.Parameters.Add(spt);                conn.Open();                scd.ExecuteNonQuery();                int returnfromPro = Convert.ToInt32(scd.Parameters["@id"].Value);//得到存储过程返回参数                scd.Dispose();                conn.Close();            }        }    }}