C# 调用存储过程简单完整的实例代码
C# 调用存储过程简单完整的实例代码
发布时间:2016-12-29 来源:查字典编辑
摘要:CREATEPROCP_TEST@NameVARCHAR(20),@RowcountINTOUTPUTASBEGINSELECT*FROMT...

CREATE PROC P_TEST@Name VARCHAR(20),

@Rowcount INT OUTPUT

AS

BEGIN

SELECT * FROM T_Customer WHERE NAME=@Name

SET @Rowcount=@@ROWCOUNT

END

GO

----------------------------------------------------------------------------------------

--存储过程调用如下:

----------------------------------------------------------------------------------------

DECLARE @i INT

EXEC P_TEST 'A',@i OUTPUT

SELECT @i

--结果

/*

Name Address Tel

---------- ---------- --------------------

A Address Telphone

(所影响的行数为 1 行)

-----------

1

(所影响的行数为 1 行)

*/

----------------------------------------------------------------------------------------

--DotNet 部分(C#)

--WebConfig 文件:

----------------------------------------------------------------------------------------

......

</system.web>

<>

<appSettings>

<add key="ConnectString" value="server=(local);User ID=sa;Password=;database=Test" />

</appSettings>

</configuration>

----------------------------------------------------------------------------------------

--C#代码:(用到两个测试控件,DataGrid1(用于显示绑定结果集合),Lable(用于显示存储过程返回单值)

代码

复制代码 代码如下:

using System.Data.SqlClient;

private void Page_Load(object sender, System.EventArgs e)

{ // 在此处放置用户代码以初始化页面

String DBConnStr; DataSet MyDataSet=new DataSet();

System.Data.SqlClient.SqlDataAdapter DataAdapter=new System.Data.SqlClient.SqlDataAdapter();

DBConnStr=System.Configuration.ConfigurationSettings.AppSettings["ConnectString"];

System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection(DBConnStr);

if (myConnection.State!=ConnectionState.Open)

{ myConnection.Open(); }

System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand("P_Test",myConnection);

myCommand.CommandType=CommandType.StoredProcedure; //添加输入查询参数、赋予值

myCommand.Parameters.Add("@Name",SqlDbType.VarChar);

myCommand.Parameters["@Name"].Value ="A"; //添加输出参数

myCommand.Parameters.Add("@Rowcount",SqlDbType.Int);

myCommand.Parameters["@Rowcount"].Direction=ParameterDirection.Output;

myCommand.ExecuteNonQuery();

DataAdapter.SelectCommand = myCommand;

if (MyDataSet!=null)

{ DataAdapter.Fill(MyDataSet,"table"); }

DataGrid1.DataSource=MyDataSet; DataGrid1.DataBind(); //得到存储过程输出参数

Label1.Text=myCommand.Parameters["@Rowcount"].Value.ToString();

if (myConnection.State == ConnectionState.Open) { myConnection.Close();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类