一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

.net執(zhí)行存儲過程 - 生活就是在不能堅持的時候繼續(xù)堅持 - 博客園

 liyuepiaoxue 2010-09-15

.net執(zhí)行存儲過程

 

一、表的創(chuàng)建sql語句:

CREATE TABLE [dbo].[myMikeTest] (
 [myID] [int] NOT NULL ,
 [myName] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [Address] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
 [Tel] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

二、創(chuàng)建一個有輸入、輸出、返回值參數(shù)的存儲過程:

create proc myTest
   @myID int,
   @output varchar(200) output
as
   --select 結(jié)果集合
   selelct * from myMikeTest where myID=@myID
   --對輸出參數(shù) 進(jìn)行賦值
   set @output="記錄總數(shù):"+convert(varchar(10),(select count(*) from myMikeTest))
   --使用return 給存儲過程一個返回值
   return 200;
   go
  
三、在C#中,操作存儲過程:

3.1 使用帶有參數(shù)的sql語句
  private void sql_param()
  {
   SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=sa;database=sms");
  
   //在sql語句當(dāng)中引入了@myid參數(shù)
   string sql="select * from tree where myMikeTest>@myid";
   SqlCommand comm=new SqlCommand(sql,conn);
         
   //使用comm的Parameters屬性的add方法,對上述的@myid參數(shù)進(jìn)行定義和賦值
   //SqlDbType類提供了與SqlServer數(shù)據(jù)類型一致的數(shù)據(jù)庫類型
   SqlParameter sp=comm.Parameters.Add("@myid",SqlDbType.Int);
   sp.Value=10;//對輸入?yún)?shù)賦值
    
   //Command對象默認(rèn)的執(zhí)行方式為Text,不寫下句亦可
   comm.CommandType=CommandType.Text;
  
   //將Command對象作為DataAdapter的參數(shù)傳進(jìn)
   SqlDataAdapter da=new SqlDataAdapter(comm);
   DataSet ds=new DataSet();
   da.Fill(ds);

   //綁定數(shù)據(jù)到DataGrid1控件上
   this.Dgd_student.DataSource=ds;
   this.Dgd_student.DataBind();
  }
3.2 存儲過程的使用標(biāo)準(zhǔn)版  
private void sql_proc()
{
 SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=sa;database=sms");
 string sql="myTest";
 SqlCommand comm=new SqlCommand(sql,conn);
 
 Comm.CommandType=CommandType.StoredProcedure;
 
 SqlParameter sp=Comm.Parameters.Add("@myID",SqlDbType.Int);
 sp.Value=4;
 
 sp=Comm.Parameters.Add("@output",SqlDbType.Varchar,50);
 sp.Direction=ParameterDeiection.Output;
 
 sp=Comm.Parameters.Add("@myReturn",SqlDbType.Int);
 sp.Driection=ParameterDriection.ReturnValue;
 
 SqlDataAdapter da=new SqlDataAdapter(Comm);
 DataSet ds=new DataSet();
 da.Fill(ds);
 
 string myout=Comm.Parameters["@output"].Value.ToString();
 string myReturn=Comm.Parameters["myReturn"].Value.ToString();
 
 this.Dbd.DataSource=ds;
 this.Dbd.DataBind();
}

3.3 存儲過程的使用最簡版:  
    private void sql_jyh()
    {

        //最簡寫法,把存儲過程當(dāng)作t-sql語句來使用,語法為:exec 過程名 參數(shù)

        SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=SMS");
        string sql = "execute myTest 3,'12'";
        SqlCommand comm = new SqlCommand(sql, conn);

        //使用SqlDataAdapter將自動完成數(shù)據(jù)庫的打開和關(guān)閉過程,并執(zhí)行相應(yīng)t-sql語句或存儲過程
        //如果存儲過程只是執(zhí)行相關(guān)操作,如級聯(lián)刪除或更新,使用SqlCommand的execute方法即可。
        SqlDataAdapter da = new SqlDataAdapter(comm);
        DataSet ds = new DataSet();
        da.Fill(ds);

        //綁定數(shù)據(jù)
        this.Dgd_student.DataSource = ds;
        this.Dgd_student.DataBind();

    }
 
 
帶多個參數(shù)的情況
  create proc myTest2 @myID int,@myName int,@output varchar(200) output
  as
  --select結(jié)果集
  select * from myMikeTest where myID>@myID and myName = @myName
  --對輸出參數(shù)進(jìn)行賦值
  set @output='記錄總數(shù):'+convert(varchar(10),(select count(*) from myMikeTest))
  --使用return,給存儲過程一個返回值。
  return 200;
  go
 
  private void ProMove()
  {
  SqlConnection conn=new SqlConnection(strsql);
  string sql="myTest2";
  SqlCommand comm=new SqlCommand(sql,conn);
  comm.CommandType=CommandType.StoredProcedure;
 
  comm.Parameters.Add("@myID",SqlDbType.Int).Value=1;
  comm.Parameters.Add("@myName",SqlDBType.Int).value=1;
  comm.Parameters.Add("@outPut",SqlDbType.Varchar,100);
  comm.Parameters["@output"].Driection=ParameterDriection.Output;
 
  DataSet ds=new DataSet();
  SqlDataAdapter da=new SqlDataAdapter(comm);
  da.fill(ds);
  string rtnstr=comm.Parameters["@output"].value.ToString();
  this.Dgd.DatSource=ds;
  this.Dgd.DataBind();
  }
  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲欧美日韩另类第一页| 麻豆剧果冻传媒一二三区| 国产精品美女午夜福利| 丰满少妇被猛烈插入在线观看| 欧美日韩亚洲国产综合网| 日韩在线一区中文字幕| 99视频精品免费视频播放| 亚洲第一区二区三区女厕偷拍| 男女激情视频在线免费观看| 欧美同性视频免费观看| 美女激情免费在线观看| 精品欧美国产一二三区| 国产一区二区三区成人精品| 国产一区二区三区免费福利| 日本高清视频在线播放| 少妇被粗大进猛进出处故事| 黄男女激情一区二区三区| 好吊色欧美一区二区三区顽频| 国产一区二区三中文字幕| 欧美日韩亚洲国产av| 高潮日韩福利在线观看| 国产午夜精品在线免费看| 欧美日韩黑人免费观看| 白白操白白在线免费观看 | 97人妻精品一区二区三区男同 | 人妻中文一区二区三区| 亚洲国产精品av在线观看 | 亚洲国产精品久久综合网| 欧美熟妇一区二区在线| 91人妻人人揉人人澡人| 麻豆视频传媒入口在线看| 久久精品亚洲情色欧美| 狠色婷婷久久一区二区三区| 性欧美唯美尤物另类视频 | 国产精品亚洲一级av第二区| 99久久免费看国产精品| 日本女优一区二区三区免费| 果冻传媒精选麻豆白晶晶| 亚洲精品一区二区三区免| 国产亚洲欧美日韩国亚语| 精品偷拍一区二区三区|