读书人

不会存储过程 这什么意思解决方法

发布时间: 2012-10-20 14:12:47 作者: rapoo

不会存储过程 这什么意思

SQL code
if (exists (select * from sys.objects where name = 'Query_Login'))    drop proc Query_Logingocreate proc Query_Login(    @name nvarchar(20),    @password nvarchar(20),    @isAvailable varchar(5) out,    @num int out)as    select @num=COUNT(*) from Users u,[login] l    where u.name = @name and l.[passWord] = @password and    u.id=l.userID;    select @isAvailable = IsAvailable from [login]     where userID = (select id from Users where name = @name)    --print @name+'  '+@passwordgo


说是做登陆 验证的 可是我不会啊 新手 - -

[解决办法]
先检查是否存在Query_Login,如果存在,删除,下面接着就是创建Query_Login,后面两个select是取得两个变量值,num和isAvailable
[解决办法]
这是一个创建存储过程的语句
先是检查是否有 名称为 Query_Login 的存储过程
如果有就删除。
然后新建一个 Query_Login 存储过程

该存储过程是用户登录使用 检查用户名 密码是否符合。
[解决办法]
给个例子,C#
C# code
public int DeleteMX(string X1,string X2,out string X3, out string strMsg)        {            SqlParameter[] parameters = {                    new SqlParameter("@name", SqlDbType.nvarchar,20),                    new SqlParameter("@password", SqlDbType.nvarchar,20),                    new SqlParameter("@isAvailable", SqlDbType.varchar,5),                    new SqlParameter("@num", SqlDbType.Int)                };            parameters[0].Value = X1;            parameters[1].Value = X2;            parameters[2].Direction = ParameterDirection.Output;            parameters[3].Direction = ParameterDirection.Output;            int flag;            flag = DbHelperSQL.RunProcedureTran("Query_Login", parameters);//调用存储过程            X3 = Convert.ToString(parameters[2].Value);//获取返回的参数isAvailable            strMsg = Convert.ToString(parameters[3].Value);//获取返回的参数num            return flag;        }
[解决办法]
4楼已经给你写了例子了。
返回来的不再是sql语句是数据
strMsg = Convert.ToString(parameters[3].Value);//获取返回的参数num
[解决办法]
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
这个才是判断存储过程是否存在,你那是个bug


out 是地址引用, string X3 , string Msg的会随着处理改变,你传入的就是要输出的。
[解决办法]
就是判断当前登录用户是否有效,返回是否有效值,以及条数

读书人网 >asp.net

热点推荐