热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#中创建和执行存储过程的方法

本文详细介绍了如何使用C#创建和调用SQLServer存储过程,包括连接数据库、定义命令类型、设置参数等步骤。
在 C# 应用程序中,与数据库交互时经常需要使用存储过程来提高性能和安全性。下面将详细介绍如何在 C# 中创建并执行一个存储过程。 首先,我们需要建立与数据库的连接。这通常通过 `SqlConnection` 类完成,需要提供正确的连接字符串。 ```csharp string cOnnectionString= "YourConnectionStringHere"; using (SqlConnection cOnnection= new SqlConnection(connectionString)) { connection.Open(); } ``` 接下来,定义一个存储过程。这里以更新报告图像和描述为例,创建一个名为 `#ImgeUpdate` 的临时存储过程。 ```csharp string createProcedure = "CREATE PROCEDURE #ImgeUpdate @RptImage Image, @RptDescription varchar(1000) AS UPDATE Reports SET RptImage = @RptImage, RptDescription = @RptDescription WHERE RptID = @RptID;"; using (SqlCommand command = new SqlCommand(createProcedure, connection)) { command.CommandType = CommandType.Text; command.ExecuteNonQuery(); } ``` 然后,执行该存储过程。首先创建一个新的 `SqlCommand` 对象,并设置其 `CommandType` 属性为 `CommandType.StoredProcedure`,指定存储过程的名称。 ```csharp string procedureName = "#ImgeUpdate"; using (SqlCommand command = new SqlCommand(procedureName, connection)) { command.CommandType = CommandType.StoredProcedure; // 添加参数 if (filUL.HasFile) { int imgSize = filUL.PostedFile.ContentLength; Stream imgStream = filUL.PostedFile.InputStream; byte[] imgCOntent= new byte[imgSize]; imgStream.Read(imgContent, 0, imgSize); SqlParameter paramImage = new SqlParameter("@RptImage", SqlDbType.Image); paramImage.Value = imgContent; command.Parameters.Add(paramImage); } SqlParameter paramDescription = new SqlParameter("@RptDescription", SqlDbType.VarChar, 1000); paramDescription.Value = txtDesp.Text.Trim(); command.Parameters.Add(paramDescription); try { command.ExecuteNonQuery(); ClientScript.RegisterStartupScript(this.GetType(), "closeWin_Save", ""); } catch (SqlException ex) { ClientScript.RegisterStartupScript(this.GetType(), "Error_Msg", $""); } finally { command.Dispose(); } } ``` 以上代码展示了如何在 C# 中创建和执行一个存储过程,包括处理文件上传、设置参数、异常处理等关键步骤。通过这种方式,可以有效地管理数据库操作,提高应用的安全性和效率。
推荐阅读
author-avatar
新手php
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有