zoukankan      html  css  js  c++  java
  • 通过SqlHelper实现登录

    1.建立解决方案:.

    首先创建windows窗体应用程序,然后拖出登录界面

    2. 写配置文件App.config:

        <configuration>

            <connectionStrings>

            <add name="mssqlserver" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=1q2w3e4R"/>

            </connectionStrings>

    </configuration>

    其中的name可以随意去写,没有任何限制。连接字符串中的【Data Source=.】为服务器名称,【Initial Catalog-test】为表名,后面的为用户名和密码。

    3. SqlHelper代码:

        3.1 读取配置文件:

            ·首先要添加引用:System.Configuration

            ·然后读取连接字符串:

                private static readonly string connStr = ConfigurationManager.ConnectionStrings["mssqlserver"].ConnectionString;

        3.2 封装常用的方法

            ·执行insert/delete/update的方法

                public static int ExecuteNonQuery(string sql, CommandType cmdType, params SqlParameter[] pms)

            {

    //创建连接对象

        using (SqlConnection con = new SqlConnection(connStr))

        {

    //创建命令对象

         using (SqlCommand cmd = new SqlCommand(sql, con))

        {

    //设置当前执行的是存储过程还是带参数的Sql语句

    cmd.CommandType = cmdType;

    //断是否传递参数 注意:如果传递的不是数组类型,那么不去判空也不会报错,但是如果是数组类型,那么就会报错。所以为了保险起见,应该进行判空。

    if (pms != null)

    {

    cmd.Parameters.AddRange(pms);

    }

    con.Open();

    return cmd.ExecuteNonQuery();

        }

        }

            }

            ·执行返回单个值的方法

                public static object ExecuteScalar(string sql, CommandType cmdType, params SqlParameter[] pms)

            {

        using (SqlConnection con = new SqlConnection(connStr))

        {

        using (SqlCommand cmd = new SqlCommand(sql, con))

        {

    cmd.CommandType = cmdType;

    if (pms != null)

    {

    cmd.Parameters.AddRange(pms);

    }

    con.Open();

    return cmd.ExecuteScalar();

        }

        }

            }

            ·返回SqlDataReader的方法

                public static SqlDataReader ExecuteReader(string sql, CommandType cmdType, params SqlParameter[] pms)

            {

        SqlConnection con=new SqlConnection(connStr);

        using (SqlCommand cmd = new SqlCommand(sql, con))

        {

        cmd.CommandType = cmdType;

        if (pms != null)

        {

    cmd.Parameters.AddRange(pms);

        }

        try

        {

    con.Open();

    return cmd.ExecuteReader(CommandBehavior.CloseConnection);

        }

        catch

        {

    con.Close();

    con.Dispose();

    throw;

        }

        }

            }

            ·执行返回DataTable方法

                public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] pms)

            {

        DataTable dt=new DataTable();

        using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connStr))

        {

    adapter.SelectCommand.CommandType = cmdType;

    if (pms != null)

        {

    adapter.SelectCommand.Parameters.AddRange(pms);

        }

    adapter.Fill(dt);

    return dt;

        }

            }

    4. 执行登录操作:

            private void button1_Click(object sender, EventArgs e)

        {

    string sql = "select COUNT(*) from users where loginId=@uid and loginPwd=@pwd";

    SqlParameter[] pms=new SqlParameter[]

    {

    new SqlParameter("@uid",textBox1.Text.Trim()),

    new SqlParameter("@pwd",textBox2.Text)

    };

    int n=(int) SqlHelper.ExecuteScalar(sql, CommandType.Text, pms);

    if (n > 0)

    {

    MessageBox.Show("成功!");

    }

    else

    {

    MessageBox.Show("失败!");

    }

        }

  • 相关阅读:
    通讯技术
    (1)sqlserver2017安装
    c# api身份验证和授权
    ()centos7 安装python36
    python 包管理
    ()centos7 安装mysql8.0
    [bzoj1095][ZJOI2007]Hide 捉迷藏 点分树,动态点分治
    bzoj 3544 [ONTAK2010]Creative Accounting 贪心
    BZOJ4300 绝世好题 dp
    bzoj 4295 [PA2015]Hazard 贪心,暴力
  • 原文地址:https://www.cnblogs.com/taidou/p/4699446.html
Copyright © 2011-2022 走看看