.net調(diào)用存儲(chǔ)過(guò)程詳細(xì)介紹
來(lái)源:易賢網(wǎng) 閱讀:725 次 日期:2014-08-29 10:37:56
溫馨提示:易賢網(wǎng)小編為您整理了“.net調(diào)用存儲(chǔ)過(guò)程詳細(xì)介紹”,方便廣大網(wǎng)友查閱!

連接字符串

代碼如下:

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

confige文件

代碼如下:

<connectionStrings>

<add name="NorthwindConnectionString" connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True" providerName="System.Data.SqlClient"/>

</connectionStrings>

1. 只返回單一記錄集的存儲(chǔ)過(guò)程

代碼如下:

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

// 設(shè)置sql連接

cmd.Connection = sqlconn;

// 如果執(zhí)行語(yǔ)句

cmd.CommandText = "Categoriestest1";

// 指定執(zhí)行語(yǔ)句為存儲(chǔ)過(guò)程

cmd.CommandType = CommandType.StoredProcedure;

 

SqlDataAdapter dp = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

// 填充dataset

dp.Fill(ds);

// 以下是顯示效果

GridView1.DataSource = ds;

GridView1.DataBind();

存儲(chǔ)過(guò)程Categoriestest1

代碼如下:

CREATE PROCEDURE Categoriestest1

AS

select *

from Categories

GO

 

2. 沒(méi)有輸入輸出的存儲(chǔ)過(guò)程

c#代碼部分

代碼如下:

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

 

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest2";

cmd.CommandType = CommandType.StoredProcedure;

sqlconn.Open();

// 執(zhí)行并顯示影響行數(shù)

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

sqlconn.Close();

存儲(chǔ)過(guò)程Categoriestest2

復(fù)制代碼 代碼如下:

CREATE PROCEDURE Categoriestest2 AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

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

GO

3. 有返回值的存儲(chǔ)過(guò)程

c#代碼部分

代碼如下:

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest3";

cmd.CommandType = CommandType.StoredProcedure;

// 創(chuàng)建參數(shù)

IDataParameter[] parameters = {

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

};

// 將參數(shù)類(lèi)型設(shè)置為 返回值類(lèi)型

parameters[0].Direction = ParameterDirection.ReturnValue;

// 添加參數(shù)

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

 

sqlconn.Open();

// 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)

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

sqlconn.Close();

// 顯示影響的行數(shù)和返回值

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

存儲(chǔ)過(guò)程Categoriestest3

代碼如下:

CREATE PROCEDURE Categoriestest3

AS

insert into dbo.Categories

(CategoryName,[Description],[Picture])

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

return @@rowcount

GO

4. 有輸入?yún)?shù)和輸出參數(shù)的存儲(chǔ)過(guò)程

c#代碼部分

代碼如下:

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest4";

cmd.CommandType = CommandType.StoredProcedure;

// 創(chuàng)建參數(shù)

IDataParameter[] parameters = {

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

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

};

// 設(shè)置參數(shù)類(lèi)型

parameters[0].Direction = ParameterDirection.Output; // 設(shè)置為輸出參數(shù)

parameters[1].Value = "testCategoryName";

// 添加參數(shù)

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

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

 

sqlconn.Open();

// 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)

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

sqlconn.Close();

// 顯示影響的行數(shù)和輸出參數(shù)

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

存儲(chǔ)過(guò)程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. 同時(shí)具有返回值、輸入?yún)?shù)、輸出參數(shù)的存儲(chǔ)過(guò)程

c#代碼部分

代碼如下:

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest5";

cmd.CommandType = CommandType.StoredProcedure;

// 創(chuàng)建參數(shù)

IDataParameter[] parameters = {

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

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

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

};

// 設(shè)置參數(shù)類(lèi)型

parameters[0].Direction = ParameterDirection.Output; // 設(shè)置為輸出參數(shù)

parameters[1].Value = "testCategoryName"; // 給輸入?yún)?shù)賦值

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

// 添加參數(shù)

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

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

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

 

sqlconn.Open();

// 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)

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

sqlconn.Close();

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

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

存儲(chǔ)過(guò)程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. 同時(shí)返回參數(shù)和記錄集的存儲(chǔ)過(guò)程

c#代碼部分

代碼如下:

SqlConnection sqlconn = new SqlConnection(conn);

SqlCommand cmd = new SqlCommand();

cmd.Connection = sqlconn;

cmd.CommandText = "Categoriestest6";

cmd.CommandType = CommandType.StoredProcedure;

// 創(chuàng)建參數(shù)

IDataParameter[] parameters = {

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

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

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

};

// 設(shè)置參數(shù)類(lèi)型

parameters[0].Direction = ParameterDirection.Output; // 設(shè)置為輸出參數(shù)

parameters[1].Value = "testCategoryName"; // 給輸入?yún)?shù)賦值

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

// 添加參數(shù)

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);

// 顯示結(jié)果集

GridView1.DataSource = ds.Tables[0];

GridView1.DataBind();

Label1.Text = "";

// 顯示輸出參數(shù)和返回值

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

存儲(chǔ)過(guò)程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. 返回多個(gè)記錄集的存儲(chǔ)過(guò)程

c#代碼部分

代碼如下:

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);

// 顯示結(jié)果集1

GridView1.DataSource = ds.Tables[0];

GridView1.DataBind();

// 顯示結(jié)果集2

GridView2.DataSource = ds.Tables[1];

GridView2.DataBind();

存儲(chǔ)過(guò)程Categoriestest7

代碼如下:

CREATE PROCEDURE Categoriestest7

AS

select * from Categories

select * from Categories

GO

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:.net調(diào)用存儲(chǔ)過(guò)程詳細(xì)介紹
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)