• 复习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     }

    如有错误,谢谢指正

  • 相关阅读:
    无需认证的mail,适用于ZABBIX等运维系统
    Linux交换分区使用过多的处理办法
    zookeeper的单实例和伪集群部署
    Zookeeper分布式集群原理与功能
    Nginx禁止IP直接访问网站
    镜像站地址汇总
    Nginx反向代理后端多节点下故障节点的排除思路
    Redis主从复制与高可用方案
    http_proxy_module模块常用参数
    Nginx实现负载均衡的几种方式
  • 原文地址:https://www.cnblogs.com/net515/p/2549872.html
Copyright © 2020-2023  润新知