通过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("失败!");

}

    }

原文地址:https://www.cnblogs.com/taidou/p/4699446.html