复习ADO.NET的参数查询 Parameter

1、使用SqlParameter类表示 SqlCommand 的参数。

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

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

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

练习,登录验证:

 

 1  class Program

 2     {

 3         static void Main(string[] args)

 4         {

 5 

 6             while (true)

 7             {

 8                 Console.WriteLine("用户名");

 9                 string name = Console.ReadLine();

10                 Console.WriteLine("密码");

11                 string pwd = Console.ReadLine();

12 

13             string constr = @"server=.\sqlexpress;database=MyDataBase;uid=sa;pwd=sa";

14             using (SqlConnection sqlconn = new SqlConnection(constr))

15             {

16                 //老方法

17                 //string cmdstr = string.Format(@"select * from loginn where uname='{0}' and upwd='{1}'",name,pwd);

18                             //参数化查询

19                                 string cmdstr = @"select * from loginn where uname=@name1 and upwd=@pwd1";

20                                                                               //@name1,@pwd1仅仅是别名而已,相当于局部变量

21                 using (SqlCommand cmd = new SqlCommand(cmdstr, sqlconn))

22                 {

23                     //加参数

24                     cmd.Parameters.Add(new SqlParameter( "@name1", name));//把name中的值赋给@name1

25                    cmd.Parameters.Add(new SqlParameter("@pwd1", pwd));   //注意Add方法中是new了一个 SqlParameter

26                      //  cmd.Parameters.AddWithValue("@pwd1", pwd);//此方法内部实现同Add,推荐用前者

27                     if (sqlconn.State == ConnectionState.Closed)

28                     {

29                         sqlconn.Open();

30                     }

31                    

32 

33                         if (Convert.ToInt32(cmd.ExecuteScalar()) == 1)

34                         {

35                             Console.WriteLine("登录成功");

36                             break;

37                         }

38                         else

39                         {

40                             Console.WriteLine("重新输入");

41                             continue;

42                         }

43                     }

44                    

45                 }

46 

47             }

48             Console.ReadKey();

49         }

50     }

 

 

如有错误,谢谢指正

你可能感兴趣的:(parameter)