SqlSever实现winform登录Demo

发布时间 2023-11-09 17:47:33作者: C#得学徒路

  这是我的第一条笔记,记录窗体实现登录,一共有几个步骤 ,但一共有几个呢  我也没有总结 那么 现在就让我来自己总结一下把

【1】在APP.config中添加 如下代码可以将我的完全复制 其中要修改的 是那些呢???

那肯定 就是你的.NETFramework,Version=v4.8.1这个了 ,如果也是4.81就当我没有说了哇。

添加的 是那些呢 ???

<connectionStrings>
        <add name ="connString1" connectionString="Server=LocalHost;DataBase=LogInInfor;Uid=sa;Pwd=344711"/>
        <add name ="connString2" connectionString="fo/s7UDDccQXaRQDFCkJxNnAtOMczHUrehJ2UkItbkJkLgEJVmNbV8I5YD2IFClQJ/APNx5uIj8e/38UYQmRFY2Lfuedh8mJ"/>
    </connectionStrings>
其实就这些 这些 就是 你要在</startup>下添加得代码
一共 四个参数 Sever 如果是本机 连接得话 那就是LocalHost,如果是远程得话 那就填你的 sqlsever得 IP地址,database:你在数据库所建得表

 UID 你的 sqlsever得 账户,pwd你的密码咯 ,顾名思义

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1" />
    </startup>
    <connectionStrings>
        <add name ="connString1" connectionString="Server=;DataBase=;Uid=;Pwd="/>
        <add name ="connString2" connectionString=""/>
    </connectionStrings>
</configuration>

 

 

到此为止 第一步 算是已经完成了

【2】我们创建一个 储存 SysAdmin得 信息得类

 public class SysAdmins
    {
        public int SysAdminId { get; set; }

        public string AdminName { get; set; }

        public string AdminPwd { get; set; }

        public string SysAccount { get; set; }

    }

其次 我们 要用到一个方法呢 

using System.Data.SqlClient;
using System.Data;



public SysAdmins AdLogIn(SysAdmins sys)
        {
           string sql = "select SysAdminId ,AdminName from SysAdmins where SysAccount=@SysAccount and AdminPwd=@AdminPwd";
           // string sql = "select SysAdminId,AdminName from SysAdmins where SysAccount=@SysAccount and AdminPwd=@AdminPwd";
            SqlParameter[] sqlParameters = new SqlParameter[]
                {
                    new SqlParameter("SysAccount",sys.SysAccount),
                    new SqlParameter("AdminPwd",sys.AdminPwd)
                };
            SqlDataReader reader = ExecuteReader(sql, sqlParameters);

            if (reader.Read())
            {
                sys.SysAdminId = Convert.ToInt32(reader["SysAdminId"]);
                sys.AdminName = reader["AdminName"].ToString();
            }
            else
            {
                sys = null;
            }
            reader.Close();
            return sys;
        }
private static string connString = ConfigurationManager.ConnectionStrings["connString1"].ToString();

public static SqlDataReader ExecuteReader(string cmdText, SqlParameter[] parmArray = null)
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(cmdText, conn);
if (parmArray != null)
{
cmd.Parameters.AddRange(parmArray);
}
try
{
conn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
Console.WriteLine("执行" + " public static SqlDataReader ExecuteReader(string cmdText, SqlParameter[] parmArray = null)" + ex);
throw new Exception(ex.ToString());
}
}

 

这个方法 是将类的对象返回出去。

 

【3】我们就可以创建窗体咯

 

 非常简单 就登录退出

 

  if (txt_Account.TextLength <= 0 || txt_Pwd.TextLength <= 0)
            {
                new FrmMessOutAck("请输入登录账号 密码", "提示信息").ShowDialog();
                txt_Account.Focus();
                return;
            }
            SysAdmins sysAdmins = new SysAdmins()
            {
                SysAccount = txt_Account.Text,
                AdminPwd = txt_Pwd.Text,
            };
          //List<SysAdmins> sys = null;
            try
            {
               sysAdmins= AdLogIn(sysAdmins);
              //sys = manager.AdLogIn2(sysAdmins);
            }
            catch (Exception ex)
            {
                MessageBox.Show("登录错误" + ex.Message);
                return;
                
            }
            if (sysAdmins != null)
            {
                DialogResult = DialogResult.OK;
                //Program.CurrentSysAdmins = sysAdmins;

            }
            //if (sys != null && sys.Count > 0)
            //{
            //    DialogResult = DialogResult.OK;
            //   // Program.CurrentSysAdmins = sys[0]; // 这里使用sys列表中的第一个元素,即数据库查询结果中的第一行记录
            //}
            else
            {
                new FrmMessOutAck("登录错误" + "账号密码错误","提示信息").ShowDialog();
            }

其中

  new FrmMessOutAck可以用messbox.show代替
心动得小伙伴抓紧去尝试把