1. 程式人生 > >【ADO.NET】1、簡單配置與使用

【ADO.NET】1、簡單配置與使用

字符串 文件中 .exe 增加 獲取字符串 pass 數據庫連接 rect manage

1、一些基礎的知識點

ExecuteReader(); //返回查詢到的數據,一次一行,用於 select
ExecuteNonQuery(); //返回影響的行數,用於 delete,insert,update
ExecuteScalar(); //返回第一行,第一列的數值,類型為 Object,用於查詢 最大值,絕對值,統計數據...等
---------------
using() 的使用
---------------
using() 用於對資源的釋放,當程序運行到using以外,資源將自動釋放,相當於 conn.Dispose()
using在出了作用域以後調用Dispose,Dispose內部會做這樣的判斷:有沒有close,沒有就先close再Dispose

conn.Open() 打開連接
conn.Close() 關閉連接,關了還可以打開
conn.Dispose() 銷毀連接,銷毀後無法再打開

技術分享
using(SqlConnection conn = new SqlConnection("server=.;database=mytest;uid=sa;pwd=gao;"))
{
  conn.Open();
}
Console.WriteLine("打開數據庫連接成功");
Console.ReadKey();
技術分享

---------------------------
將連接字符串放到配置文件中
---------------------------
在app.config 或 web.config中,加入如下

<connectionStrings>
  <add name="ConnStr" connectionString="server=.;database=mytest;uid=sa;pwd=gao"/>
</connectionStrings>

增加引用: System.configuration
增加命名空間:using System.Configuration;

string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; //獲取字符串
SqlConnection conn = new SqlConnection(Str);    //調用字符串

2、讀取指定多列值 技術分享
using (SqlConnection conn = new SqlConnection("Data Source=.;database=mytest;uid=sa;pwd=gao;"))
{
    conn.Open();
    using (SqlCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "select * from mydo";
        using (SqlDataReader dr = cmd.ExecuteReader())
        {
        while (dr.Read())
        {
           int dbId = dr.GetString(dr.GetOrdinal("id"));        //獲取ID列值
           string dbName = dr.GetString(dr.GetOrdinal("username")); //獲取username
           string dbPwd = dr.GetString(dr.GetOrdinal("passwd"));    //獲取passwd
           Console.WriteLine("ID={0},UserName={1},Passwd={2}",dbId,dbName,dbPwd);
        }
        }
    }
}
技術分享

3、ExecuteScalar() 的使用

返回第一行,第一列的數值,類型為 Object

技術分享
using (SqlConnection conn = new SqlConnection("Data Source=.;database=mytest;uid=sa;pwd=gao;"))
{
   conn.Open();
   using (SqlCommand cmd = conn.CreateCommand())
   {
       cmd.CommandText = "select count(*) from mydo";          //統計行數
       Console.WriteLine(Convert.ToString(cmd.ExecuteScalar()));  //返回第一行,第一列
   }
}
技術分享

顯示新插入的主鍵值

技術分享
using (SqlConnection conn = new SqlConnection("Data Source=.;database=mytest;uid=sa;pwd=gao;"))
{
  conn.Open();
  using (SqlCommand cmd = conn.CreateCommand())
  {
    cmd.CommandText = "insert into T_User(Name,Pwd) output inserted.Id values(‘admin‘,‘1234‘)";          
    int id = Convert.ToInt32(cmd.ExecuteScalar());
    Console.WriteLine("新插入的主鍵值:{0}",id);      
  }
}
技術分享

ADO.NET 獲得SQL 的OutPut和ReturnValue 技術分享
// 設置參數為 OutPut 參數
cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.Output;

// 設置參數為 RetrunValue
cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.ReturnValue;

// 獲得輸出參數值
cmd.Parameters["@Amount"].Value;
技術分享

【ADO.NET】1、簡單配置與使用