1.在ADO中使用存储过程
use UserDB1
select * from T_Users
create proc usp_login
@uname varchar(50),
@password varchar(50),
@result bit output----布尔类型的参数,是用来返回值的,设置存储用户登录是否成功1---true,0------false
as
begin
declare @count int
set @count=( select count(*) from T_Users where FuserName=@uname and Fpassword=@password)
if @count>0
begin
set @result=1
end
else
begin
set @result=0
end
end
declare @r bit
exec usp_Login @uname='admin321232','111',@r output
print @r
print @@servername
btnClick
{ string username=txtUserName.Text.Trin();
string password=txtPassword.Text.Trin();
使用ADO连接数据库
Connection--SqlConnection--连接字符串
Command--SqlCommand
SqlParaneter
SqlDataReader
......
string connstr="Data Source=PC-20120907SDQU;Initial Catalog=UserDbl;User ID=sa; Password=admin"
using(SqlConnection conn=new SqlConnection();)
{
conn.Open();
using(SqlCommand cmd= conn.CreateCommand();)
{string sql="insert into T_Users(FuseName,Fpassword) values('王妃','555')"
cmd.CommandText=sql;
int r=cmd.ExecuteNonQuery();
Label1.Text=r.ToString();
-------------
string sp_name="usp_Login";
//执行sql语句和执行存储过程最大的区别!需要设置一个commandType
cmd.CommandText=CommandType.StoredProcedure;
cmd.CommandText=sp_name;
SqlParameter prm1=new SqlParameter("@uname",username);
SqlParameter prm2=new SqlParameter("@password",password);
SqlParameter prm3=new SqlParameter("@result",System.Data.SqlDbType.Bit);
cmd.Parameters.Add(prm1);
cmd.Parameters.Add(prm2);
cmd.Parameters.Add(prm3);
prm3.Direction=ParameterDirection.Output;
//int r=cmd.ExecuteNonQuery();
//object obj=cmd.ExecuteNonQuery();
bool b=Converrt.ToBoolean(prm3.value);
if(b)
{
Label2.Text="登录成功";
}
else
{
Label2.Text="登录失败";
}
}
}
}
create proc usp_denglu
@username2 nvarchar(10),
@password varchar(20),
@result bit output
as
begin
declare @count int
set @count= (select * from T_user where @username2=username and @password=password)
if @count>0
begin
print '登陆成功'
end
else
begin
print '登录失败'
end
end