加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_常德站长网 (https://www.0736zz.com/)- 媒体处理、CDN、边缘计算、网络安全、物联网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

C#调用存储过程简单完整的示例代码

发布时间:2023-06-09 15:30:35 所属栏目:语言 来源:网络
导读:   CREATE PROC P_TEST@Name VARCHAR(20),



  @Rowcount INT OUTPUT



  AS



  BEGIN



  SELECT * FROM T_Customer WHERE NAME=@Name



  SET @Rowcoun
  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();
 
  }
 
  }
 

(编辑:应用网_常德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!