ASP.NET 中调用存储过程
用ASP.NET与SQL SERVER可是缘份最好了,稍大的程序一般第一先考虑的是SQL SERVER,只是一些很考虑经济的才使用ACCESS等了。用SQL SERVER,为了使数据库的效率更好,一般都会才取存储过程,因存储过程执行速度快,并且可以实现一些高级的查询等功能。比如传入一些数据参数,但执行的SQL过程可能不同等。
下面就来个例子,建立一新的角色,要求角色的名字不能重复,以下是一存储过程。
CREATE PROCEDURE sp_AccountRole_Create@CategoryID int,
@RoleName nvarchar(10),
@Description nvarchar(50),
@RoleID int output
AS
DECLARE @Count int -- 查找是否有相同名称的记录
SELECT @Count = Count(RoleID) from Account_Role WHERE
RoleName = @RoleName IF @Count = 0 INSERT INTO Account_Role
(CategoryID, RoleName, Description) valueS
(@CategoryID, @RoleName, @Description) SET @RoleID = @@IDENTITY RETURN 1
GO
执行存储过程的C#过程:
SqlConnection DbConnection = new SqlConnection(mConnectionString);
SqlCommand command = new SqlCommand( "sp_AccountRole_Create", DbConnection );
DbConnection.Open(connectString);
// 废置SqlCommand的属性为存储过程
command.CommandType = CommandType.StoredProcedure;command.Parameters.Add("@CategoryID", SqlDbType.Int, 4);
command.Parameters.Add("@RoleName", SqlDbType.NVarChar, 10);
command.Parameters.Add("@Description", SqlDbType.NVarChar, 50);
command.Parameters.Add("@RoleID", SqlDbType.Int, 4);
// 返回值
command.Parameters.Add("Returnvalue",
SqlDbType.Int,
4, // Size
ParameterDirection.Returnvalue,
false, // is nullable
0, // byte precision
0, // byte scale
string.Empty,
DataRowVersion.Default,
null );command.parameters["@CategoryID"].value = permission.CategoryID;
command.parameters["@RoleName"].value = permission.PermissionName;
command.parameters["@Description"].value = permission.Description;
// 可以返回新的ID值
command.parameters["@Ro
相关文档:
1将sql中使用的一些特殊符号,如' -- /* ; %等用Replace()过滤;
2限制文本框输入字符的长度;
3检查用户输入的合法性;客户端与服务器端都要执行,可以使用正则。
4使用带参数的SQL语句形式。
ASP.NET中如何防范SQL注入式攻击
一、什么是SQL注入式攻击?
所谓SQL注入式攻击,就是攻击者把 ......
ASP.NET 4的Web Forms当中,最令人激赏的,则莫过于是URL Routing机制的全面支持。过去在ASP.NET 3.5 SP1当中,Web Forms或多或少就开始支持URL Routing机制,它让我们在网址的呈现以及使用上更加的有弹性。
过去我们在ASP.NET当中,习惯于底下这样的网址呈现方式:
http://myWebSite/EditProduct.aspx?Id=1
但最近几年R ......
using System.Text.RegularExpressions;
Regex reg = new Regex(@"^\d+$"); //验证字符串
Response.Write( reg.IsMatch(""));
Response.Write(reg.IsMatch("sf"));
Response.Write ......
经常需要在数据库与Execl之间互导数据。net时代,ADO.NET可以使用使用Microsoft.Jet.OleDb访问访问Excel,网上已经有很多类似的资源,最典型也是最简单的可能如下:(asp.net环境)
// 连接字符串
......
分类: 专家Blog 推荐者:admin| 浏览量:489 views| 1 个评论
如果我们用IIS宿主ASP.net,单步调试时,会有可能下面的异常报出来:
—————————
Microsoft Visual Studio
—————————
The web serv ......