C#.net 关于登陆的代码
textBox1
textBox2
表为login
表的字段: 用户名,密码 登入
SQL2005 VS2005
想要个登陆的代码
[解决办法]
using System;
using System.Data;
using System.IO;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;
using SystemFramework.DAL;
using DevExpress.XtraEditors;
using VSYT.RWGL.User;
namespace VSYT.RWGL.UI
{
public partial class XFrmLogin : XtraForm
{
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 0xF010;
public const int HTCAPTION = 0x0002;
private string filename = string.Empty;
private DataBaseLayer DataLayer;
private string name;
public XFrmLogin(DataBaseLayer Session)
{
InitializeComponent();
DataLayer = Session;
tEdtPwd.Properties.PasswordChar = '*';
//username = TedtName.Text.ToString().Trim();
}
/// <summary>
/// 本地登录配置文件
/// </summary>
public string LocalFileName
{
get { return filename; }
set { filename = value; }
}
public DataBaseLayer DBSession
{
get { return DataLayer; }
set { DataLayer = value; }
}
//public string User_Real_Name()
//{
// return name;
//}
//窗体初始化
private void XFrmLogin_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
//确定登陆
private void sBtnOK_Click(object sender, EventArgs e)
{
//远程登陆
if (!DataLayer.CanConnectWeb())
{
XtraMessageBox.Show("无法链接服务器,请检查网络设备!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
name = TedtName.Text.Trim();
string pwd = tEdtPwd.Text.Trim();
if (name.Equals(""))
{
XtraMessageBox.Show("请输入登录名!", "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (pwd.Equals(""))
{
XtraMessageBox.Show("请输入密码!", "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
string sql = "select * from u_user where user_name='" + name + "'";
DataTable DTSerInfo = DataLayer.ExecuteQuery(sql);
foreach (DataRow nrow in DTSerInfo.Rows)
{
Program.RealName = nrow["USER_REAL_NAME"].ToString();
// rwmain.User_Real_Name = RealName;
}
if (DTSerInfo.Rows.Count == 0)
{
XtraMessageBox.Show("用户\"" + name + "\"不存在,请输入正确的信息!");
return;
}
DataRow row = DTSerInfo.Rows[0];
if (!row["user_name"].ToString().Equals(name))
{
XtraMessageBox.Show("用户名不存在,请重试!");
return;
}
md5hash mhash = new md5hash();
if (!(mhash.verifyMd5Hash(pwd, row["password"].ToString())))
{
XtraMessageBox.Show("密码错误!请重新输入密码!");
return;
}
DialogResult = DialogResult.OK;
//MessageBox.Show(this, "登陆成功!");
this.Visible = false;
XFrmRWXTMain rwmain = new XFrmRWXTMain();
rwmain.Show();
}
//取消
private void sBtnCancel_Click_1(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Application.Exit();
}
}
}
[解决办法]
private void button1_Click(object sender, EventArgs e)
{
string source = @"Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=sa;Password=1234567";
string sql = "SELECT * FROM Table_1 WHERE userLoginID= @user_ID AND userPassword= @user_Password
SqlConnection conn = new SqlConnection(source);
SqlCommand cmd = new SqlCommand(sql, conn);
using (conn)
{
try
{
conn.Open();//打開數據庫連接
cmd.Parameters.Add("user_ID", SqlDbType.VarChar, 50).Value = tb_userId.Text.Trim();
cmd.Parameters.Add("user_Password", SqlDbType.VarChar, 50).Value = tb_userPassword.Text.Trim();
SqlDataReader userRead = cmd.ExecuteReader();
//int count = Convert.ToInt32(cmd.ExecuteScalar());
if (userRead.Read())
{
MessageBox.Show("登陆成功!");
}
else
{
MessageBox.Show("用户名或密码错误!~");
}
}
catch (SqlException oe)
{
MessageBox.Show("出錯信息!", oe.Errors[0].Message);
}
}
}