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

來源:互聯網
上載者:User

標籤:範圍   manage   text   div   nbsp   調用   insert   adk   reader   

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;// 設定參數為 RetrunValuecmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.ReturnValue;// 獲得輸出參數值cmd.Parameters["@Amount"].Value;

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.