您的位置:首页 > 其它

复习ADO.NET的参数查询 Parameter

2012-06-14 21:27 288 查看
1、使用SqlParameter类表示 SqlCommand 的参数。

2、SqlParameter提供两个参数,参数别名(@前缀)与参数值。

3、SqlCommand提供一个Parameter属性,该属性表示SqlParameter的集合,使用Add方法添加(记得new)。

4、Parameter属性表示的是一个集合,不使用了要清空。

练习,登录验证:

class Program
{
static void Main(string[] args)
{

while (true)
{
Console.WriteLine("用户名");
string name = Console.ReadLine();
Console.WriteLine("密码");
string pwd = Console.ReadLine();

string constr = @"server=.\sqlexpress;database=MyDataBase;uid=sa;pwd=sa";
using (SqlConnection sqlconn = new SqlConnection(constr))
{
//老方法
//string cmdstr = string.Format(@"select * from loginn where uname='{0}' and upwd='{1}'",name,pwd);
//参数化查询
string cmdstr = @"select * from loginn where uname=@name1 and upwd=@pwd1";
//@name1,@pwd1仅仅是别名而已,相当于局部变量
using (SqlCommand cmd = new SqlCommand(cmdstr, sqlconn))
{
//加参数
cmd.Parameters.Add(new SqlParameter( "@name1", name));//把name中的值赋给@name1
cmd.Parameters.Add(new SqlParameter("@pwd1", pwd));   //注意Add方法中是new了一个 SqlParameter
//  cmd.Parameters.AddWithValue("@pwd1", pwd);//此方法内部实现同Add,推荐用前者
if (sqlconn.State == ConnectionState.Closed)
{
sqlconn.Open();
}

if (Convert.ToInt32(cmd.ExecuteScalar()) == 1)
{
Console.WriteLine("登录成功");
break;
}
else
{
Console.WriteLine("重新输入");
continue;
}
}

}

}
Console.ReadKey();
}
}


如有错误,谢谢指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: