欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ADO.Net都有哪些從數據庫獲取數據的方式

(一).說(shuō)明

       初學(xué)ADO.Net會(huì )被ADO.Net訪(fǎng)問(wèn)數據庫方式弄得頭暈,感覺(jué)無(wú)從下手.
本文將它們整合在一起,文章并沒(méi)有涉及太多深層知識. 只是我覺(jué)得將它們集中在一起,
在比較中學(xué)習更快,更清晰一些:
本文列舉了用ADO.Net訪(fǎng)問(wèn)數據庫的所有方式:
1.用Sql語(yǔ)句訪(fǎng)問(wèn)數據庫
2.用無(wú)參存儲過(guò)程訪(fǎng)問(wèn)數據庫
3.用有參存儲過(guò)程訪(fǎng)問(wèn)數據庫
4.使用 CommandBuilder.DeriveParameters 來(lái)填充 Command 對象的 Parameters 集合,來(lái)訪(fǎng)問(wèn)數據庫
5.使用SqlDataReader對象輸出數據.

(二).代碼示例

用到的存儲過(guò)程 myprocedure  SQL代碼:
---有參

CREATE procedure dbo.[myprocedure]
(
 @start int,
 @end int
)
as
select  * from products
where productid>=@start and productid<=@end

---無(wú)參
CREATE procedure dbo.[myprocedure]
as
return 'Hello'
GO

private DataSet GetDataSet(int sign)  
  {

   //*******自定義連接字符串********/
   string connectionStr="server=(localhost);uid=sa;pwd=;database=NorthWind";  
   
   SqlConnection myConnection=new SqlConnection(connectionStr);
   DataSet myDataSet=new DataSet();
   string sqlProcedureName="myprocedure";  //此存儲過(guò)程必須事先已經(jīng)定義好了.
   if(sign==1)//執行語(yǔ)句.  (最常用的情況)

   {    
    string queryStr="select * from products";    
    SqlDataAdapter myAdapter=new SqlDataAdapter(queryStr,connectionStr);
    
    myAdapter.Fill(myDataSet);
    return myDataSet;
   }


   if(sign==2)//調用SQL無(wú)參存儲過(guò)程,此存儲過(guò)程返回select查詢(xún)結果
   {    
    SqlCommand myCommand=new SqlCommand(sqlProcedureName,myConnection);
    myCommand.CommandType=CommandType.StoredProcedure;
    SqlDataAdapter myAdapter=new SqlDataAdapter(sqlProcedureName,myConnection);
    myAdapter.Fill(myDataSet);
    return myDataSet;    
   }
   if(sign==3)//調用SQL有參存儲過(guò)程,此存儲過(guò)程返回select查詢(xún)結果,且傳遞參數
   {
    SqlCommand myCommand=new SqlCommand(sqlProcedureName,myConnection);
    myCommand.CommandType=CommandType.StoredProcedure;
    
    SqlParameter start=new SqlParameter("@start",SqlDbType.Int,4); // 定義第一個(gè)參數

    start.Value=1;
    myCommand.Parameters.Add(start);

    SqlParameter end=new SqlParameter("@end",SqlDbType.Int,4); // 定義第二個(gè)參數

    end.Value=5;
    myCommand.Parameters.Add(end);
    
    SqlDataAdapter myAdapter=new SqlDataAdapter(sqlProcedureName,myConnection);
    myAdapter.SelectCommand=myCommand;               
    
    myAdapter.Fill(myDataSet);
    return myDataSet; 
   }
   if(sign==4)  //演示如何使用 CommandBuilder.DeriveParameters 來(lái)填充 Command 對象的 Parameters 集合
   {
    SqlCommand myCommand=new SqlCommand(sqlProcedureName,myConnection);
    myCommand.CommandType=CommandType.StoredProcedure;
    SqlDataAdapter myAdapter=new SqlDataAdapter(sqlProcedureName,myConnection);
    
    myConnection.Open();  //如果不打開(kāi)連接,下一句將不知道從哪里去取所需的存儲過(guò)程
    SqlCommandBuilder.DeriveParameters(myCommand);              
    myCommand.Parameters["@start"].Value=1;
    myCommand.Parameters["@end"].Value=5;
    myAdapter.SelectCommand=myCommand;               
    
    myAdapter.Fill(myDataSet);
    return myDataSet; 

   }
   if(sign==5)//練習使用SqlDataReader,結果在控制臺輸出
   {
    SqlCommand myCommand=new SqlCommand(sqlProcedureName,myConnection);
    myCommand.CommandType=CommandType.StoredProcedure;
    
    SqlParameter start=new SqlParameter("@start",SqlDbType.Int,4); // 把4改變或去掉
    start.Value=1;
    myCommand.Parameters.Add(start);

    SqlParameter end=new SqlParameter("@end",SqlDbType.Int,4); // 把4改變或去掉
    end.Value=5;
    myCommand.Parameters.Add(end);
    
    SqlDataAdapter myAdapter=new SqlDataAdapter(sqlProcedureName,myConnection);
    myAdapter.SelectCommand=myCommand;        

    myConnection.Open();
    SqlDataReader myReader = myCommand.ExecuteReader();

    Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1));

    while (myReader.Read())
    {
     //Console.WriteLine("{0},{1}", myReader.GetString(0), myReader.GetString(1));  //?不對
     Console.WriteLine("{0},{1}", myReader.GetValue(0), myReader.GetValue(1));
    }
               
    myConnection.Close();
    DataTable myTable=new DataTable();
    myDataSet.Tables.Add(myTable);
    return myDataSet;
   }
     return new DataSet();
  }

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
數據庫開(kāi)發(fā)個(gè)人總結(ADO.NET) - ADO.NET教程 - 新客網(wǎng)
C#chart用法的幾個(gè)例子
C#數據庫連接
關(guān)于TreeView控件專(zhuān)題
一些VC調用C#com組件的方法片段
asp.net 訪(fǎng)問(wèn)Excel的方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久