国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#調用存儲過程詳解

2019-11-17 02:44:11
字體:
來源:轉載
供稿:網友
C#調用存儲過程詳解

本文的數據庫用的是sql server自帶數據Northwind

連接字符串:

string conn = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;

confige文件:

<connectionStrings>

<add name="NorthwindConnectionString" connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True"

</connectionStrings>

1. 只返回單一記錄集的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

// 設置sql連接

cmd.Connection = sqlconn;

// 如果執行語句

cmd.CommandText = "Categoriestest1";

// 指定執行語句為存儲過程

cmd.CommandType = CommandType.StoredProcedure;

SqlDataAdapter dp = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

// 填充dataset

dp.Fill(ds);

// 以下是顯示效果

GridView1.DataSource = ds;

GridView1.DataBind();

存儲過程Categoriestest1

CREATE PROCEDURE Categoriestest1

AS

select *

from Categories

GO

2. 沒有輸入輸出的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest2";

cmd.CommandType = CommandType.StoredProcedure;

sqlconn.Open();

// 執行并顯示影響行數

Label1.Text = cmd.ExecuteNonQuery().ToString();

sqlconn.Close();

存儲過程Categoriestest2

CREATE PROCEDURE Categoriestest2 AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

values ('test1','test1',null)

GO

3. 有返回值的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest3";

cmd.CommandType = CommandType.StoredProcedure;

// 創建參數

IDataParameter[] parameters = {

new SqlParameter("rval", SqlDbType.Int,4)

};

// 將參數類型設置為 返回值類型

parameters[0].Direction = ParameterDirection.ReturnValue;

// 添加參數

cmd.Parameters.Add(parameters[0]);

sqlconn.Open();

// 執行存儲過程并返回影響的行數

Label1.Text = cmd.ExecuteNonQuery().ToString();

sqlconn.Close();

// 顯示影響的行數和返回值

Label1.Text += "-" + parameters[0].Value.ToString() ;

存儲過程Categoriestest3

CREATE PROCEDURE Categoriestest3

AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

values ('test1','test1',null)

return @@rowcount

GO

4. 有輸入參數和輸出參數的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest4";

cmd.CommandType = CommandType.StoredProcedure;

// 創建參數

IDataParameter[] parameters = {

new SqlParameter("@Id", SqlDbType.Int,4) ,

new SqlParameter("@CategoryName", SqlDbType.NVarChar,15) ,

};

// 設置參數類型

parameters[0].Direction = ParameterDirection.Output; // 設置為輸出參數

parameters[1].Value = "testCategoryName";

// 添加參數

cmd.Parameters.Add(parameters[0]);

cmd.Parameters.Add(parameters[1]);

sqlconn.Open();

// 執行存儲過程并返回影響的行數

Label1.Text = cmd.ExecuteNonQuery().ToString();

sqlconn.Close();

// 顯示影響的行數和輸出參數

Label1.Text += "-" + parameters[0].Value.ToString() ;

存儲過程Categoriestest4

CREATE PROCEDURE Categoriestest4

@id int output,

@CategoryName nvarchar(15)

AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

values (@CategoryName,'test1',null)

set @id = @@IDENTITY

GO

5. 同時具有返回值、輸入參數、輸出參數的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest5";

cmd.CommandType = CommandType.StoredProcedure;

// 創建參數

IDataParameter[] parameters = {

new SqlParameter("@Id", SqlDbType.Int,4) ,

new SqlParameter("@CategoryName", SqlDbType.NVarChar,15) ,

new SqlParameter("rval", SqlDbType.Int,4)

};

// 設置參數類型

parameters[0].Direction = ParameterDirection.Output; // 設置為輸出參數

parameters[1].Value = "testCategoryName"; // 給輸入參數賦值

parameters[2].Direction = ParameterDirection.ReturnValue; // 設置為返回值

// 添加參數

cmd.Parameters.Add(parameters[0]);

cmd.Parameters.Add(parameters[1]);

cmd.Parameters.Add(parameters[2]);

sqlconn.Open();

// 執行存儲過程并返回影響的行數

Label1.Text = cmd.ExecuteNonQuery().ToString();

sqlconn.Close();

// 顯示影響的行數,輸出參數和返回值

Label1.Text += "-" + parameters[0].Value.ToString() + "-" + parameters[2].Value.ToString();

存儲過程Categoriestest5

CREATE PROCEDURE Categoriestest5

@id int output,

@CategoryName nvarchar(15)

AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

values (@CategoryName,'test1',null)

set @id = @@IDENTITY

return @@rowcount

GO

6. 同時返回參數和記錄集的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest6";

cmd.CommandType = CommandType.StoredProcedure;

// 創建參數

IDataParameter[] parameters = {

new SqlParameter("@Id", SqlDbType.Int,4) ,

new SqlParameter("@CategoryName", SqlDbType.NVarChar,15) ,

new SqlParameter("rval", SqlDbType.Int,4) // 返回值

};

// 設置參數類型

parameters[0].Direction = ParameterDirection.Output; // 設置為輸出參數

parameters[1].Value = "testCategoryName"; // 給輸入參數賦值

parameters[2].Direction = ParameterDirection.ReturnValue; // 設置為返回值

// 添加參數

cmd.Parameters.Add(parameters[0]);

cmd.Parameters.Add(parameters[1]);

cmd.Parameters.Add(parameters[2]);

SqlDataAdapter dp = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

// 填充dataset

dp.Fill(ds);

// 顯示結果集

GridView1.DataSource = ds.Tables[0];

GridView1.DataBind();

Label1.Text = "";

// 顯示輸出參數和返回值

Label1.Text += parameters[0].Value.ToString() + "-" + parameters[2].Value.ToString();

存儲過程Categoriestest6

CREATE PROCEDURE Categoriestest6

@id int output,

@CategoryName nvarchar(15)

AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

values (@CategoryName,'test1',null)

set @id = @@IDENTITY

select * from Categories

return @@rowcount

GO

7. 返回多個記錄集的存儲過程

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest7";

cmd.CommandType = CommandType.StoredProcedure;

SqlDataAdapter dp = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

// 填充dataset

dp.Fill(ds);

// 顯示結果集1

GridView1.DataSource = ds.Tables[0];

GridView1.DataBind();

// 顯示結果集2

GridView2.DataSource = ds.Tables[1];

GridView2.DataBind();

存儲過程Categoriestest7

CREATE PROCEDURE Categoriestest7

AS

select * from Categories

select * from Categories

GO


上一篇:c#遞歸生成XML

下一篇:C# CGI程序

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯留县| 南宁市| 华蓥市| 嘉黎县| 江永县| 格尔木市| 广安市| 宁武县| 舞钢市| 应用必备| 图们市| 万全县| 香河县| 额尔古纳市| 岑溪市| 鄂伦春自治旗| 东方市| 景洪市| 斗六市| 名山县| 图们市| 西乌| 五常市| 琼海市| 黄浦区| 德江县| 白河县| 兴海县| 柳河县| 呼玛县| 澜沧| 类乌齐县| 东乌珠穆沁旗| 江油市| 兴宁市| 留坝县| 鹿泉市| 固安县| 苍山县| 龙陵县| 富蕴县|