当前位置:编程学习 > C#/ASP.NET >>

在Microsoft Visual Studio 2005下用C#编程

要做一个登陆界面(如图,点击放大),秘码和用户名是基于SQL中的一张表的,代码如何写.
答案:
private void OkBtn_Click(object sender, System.EventArgs e)
{
OleDbConnection oleDbCon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"Database1.mdb\";Persist Security Info=True");
string sql = "SELECT * FROM UserPsW WHERE user = @user and password=@password";
//string sql = "SELECT popedom FROM user_psd WHERE user = @user and password=@password";
oleDbCon.Open();
OleDbCommand cmd = new OleDbCommand(sql, oleDbCon);
cmd.Parameters.Add("@user", OleDbType.Char, 50);
cmd.Parameters.Add("@password", OleDbType.Char, 50);

cmd.Parameters["@user"].Value = UserTxtB.Text.Trim();
cmd.Parameters["@password"].Value = PsWTxtB.Text.Trim();

//cmd.ExecuteNonQuery();
OleDbDataReader read = cmd.ExecuteReader();
if (read.Read())
{
showform = true;
this.Close();
PassWord.userneme = Convert.ToString(read["user"]);
//read["popedom"] == LandFrm.popedomNeme;
PassWord.popedomNeme = Convert.ToString (read["popedom"]);
}
else
{
showform = false ;
MessageBox.Show("用户名或密码错误","提示");
}
}
//连接字符串
string constr="server=(local);data base=login;integrated security=sspi"
//查询字符串
string cmdstr="select password from admin where
user_name='"+this.txt_user.text+"' ";
try{
//创建连接对象
SqlConnection con = new SqlConnection(constr);
//创建命令对象
SqlCommand cm = new SqlCommand(cmdstr,con);
//打开连接
con.Open();
//判断密码是否正确
if(this.Txt_password.Text == cmd.ExecuteScalar().ToString())
{
//显示登录成功
MessageBox.Show("登录成功!","Success",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)
}
else
{//提示错误
MessageBox.Show("用户名或密码错误","ERROR",MessageButtons.OK,MessageIcon.Error);
}
}
catch(SqlException ex)
{//捕获异常
MessageBox.Show(ex);
}
finally
{//关闭连接
con.close();
}

从数据库中读出用户名和密码然后比较
if(name==username&&word==password)
{
进入系统;
}
else
label1.text="用户名或密码错误!";
楼上的胡落落~ 这个功能看起来简单但是实现起来不容易,首先要写一个类访问数据库并得到返回值,这样的类百度很多,搜“c#数据库连接类”就会出来N多,假设你这个类名是DBClass,而能得到返回值的静态方法是getdataset方法,在确定按钮的代码如下:
string sql = "select name from *** where name ="+ textbox1.text +"";
DataTable res =DBClass.getdataset(sql).Table[0];
string name = res.row["name"];
if(name==textbox1.text)
{
判断密码
}
else
{messagebox.show("用户名不存在");
}
判断密码的和用户名差不多,改改SQL语句就好了,记得加.data命名空间,要不没法传DATATABLE和DATArow类型的返回值
二楼的是对的,不过这些代码都要写在确定按钮的CLITCK事件里哦
这个功能实现起来并不难.只是看你用什么样的模式,简单的写
public boolean Select(string name,string pwd){
SqlConnection con=new SqlConnection("server=.;uid=sa;database="数据库名");
string str="select * from "表名" where 姓名字段='"+name"' and pwd='"+pwd+"'";
SqlCommand com=new SqlCommand("str",con);
DataReader rd=com.executeReader();
if(rd.read()){
return true;
}
else{
return false;
}
}
只要将txt里的值传过来.然后调这个方法,通过返回值可以叛断是不是匹配的,
try
{

SqlConnection con = new SqlConnection("server=.;database=student;trusted_connection=sspi");
SqlCommand cm = new SqlCommand();
cm.Connection = con;
cm.CommandText = "select * from studentInfo where name='" + Convert.ToInt64(textBox1.Text)+"'";
con.Open();

SqlDataReader dr;
dr = cm.ExecuteReader();

if(dr.Read())
{
if(dr.GetString(1).equals(textBox2.Text))
{
MessageBox.Show("登陆成功!");
}
else
{
MessageBox.Show("密码错误!");
}
}
else
{
MessageBox.Show("用户名不存在!");
}
}catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
直接用界面画   
然后点击按钮就可以添加方法!

上一个:C#编程关于接口的问题
下一个:怎么把string转成xml - C#编程 -

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,