怎么判断ACCESS中是否有记录

kgdxpr 2006-05-09 10:26:51
我想做一个登录,想验证一下ACCESS中是否有这个用户和密码。

...全文
406 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
namhyuk 2006-05-09
  • 打赏
  • 举报
回复
只想检查是否有这个用户和密码那就。。。
using(OleDbConnection conn = new OleDbConnection("你的连接字符串"))
{
OleDbCommand cmd = new OldDbCommand("select count(*) from TABLE where UserName='" + username + "' and PASSWORD='" + password + "'", conn);
conn.Open(); // 忘了打开数据库了.
if(int.Parse(cmd.ExecuteScarlar().ToString()) > 0)
{
MessageBox.Show("有这户");
}
else
{
MessageBox.Show("没这户");
}
} //会自动调用conn.Dispose(), conn.Dispose()会调用conn.Close();
namhyuk 2006-05-09
  • 打赏
  • 举报
回复
只想检查是否有这个用户和密码那就。。。
using(OleDbConnection conn = new OleDbConnection("你的连接字符串"))
{
OleDbCommand cmd = new OldDbCommand("select count(*) from TABLE where UserName='" + username + "' and PASSWORD='" + password + "'", conn);
if(int.Parse(cmd.ExecuteScarlar().ToString()) > 0)
{
MessageBox.Show("有这户");
}
else
{
MessageBox.Show("没这户");
}
} //会自动调用conn.Dispose(), conn.Dispose()会调用conn.Close();
  • 打赏
  • 举报
回复
////////////////////////////////////////////////////////////////////////
//名称 : string GetConnectionString ()
//功能 : 得到连接字符串,如果更改位置的话,直接修改这个方法的返回值

//传入类型: 空
//传入参数: 空

//返回类型; string
//返回值 :  连接字符串
////////////////////////////////////////////////////////////////////////
public string GetConnectionString () //得到连接字符串,如果更改位置的话,直接修改这个方法的返回值
{
return "provider=microsoft.jet.oledb.4.0;data source =F:"+"\\"+"asp.net学生信息管理系统cSharp"+"\\"+"database"+"\\"+"sysdb.mdb";
}

忘了给你个这个了。
这是偶弄的一个毕业设计。嘿嘿
  • 打赏
  • 举报
回复
////////////////////////////////////////////////////////////////////////
//名称  : bool CheckUser (string username,string userpassword, string tablename)
//功能 : 检查用户
//传入类型: string
//传入参数: username = 用户名  ;
// userpassword = 密码 ;
// tablename =  用户密码所在的表名;

//返回类型; bool
//返回值 : true(通过) or false(拒绝) 用户权限通过
////////////////////////////////////////////////////////////////////////
public bool CheckUser (string username,string userpassword, string tablename)
{
//防止用户使用sql经典漏洞( ' or ''=' )入侵系统
//首先检查字符串里是否包含 '  如果有,直接替换掉 ' 符号就可以了
username=username.Replace("'",""); userpassword=userpassword.Replace("'","");

//以下是执行sql语句检查用户

OleDbConnection MyConnection = null;
OleDbDataAdapter MyDataAdapter= null;
DataSet MyDataset=null;

string sqlstring;
sqlstring="select * from " + tablename + " where username='" + username + "'" + "and password='" + userpassword + "'"; //tablename,username,password 是调用
//的时候传递进来的。直接当作sql语句
//参数的一部分
try
{
MyConnection = new OleDbConnection(GetConnectionString());

MyDataAdapter= new OleDbDataAdapter (sqlstring,MyConnection);
MyDataset=new DataSet();
MyDataset.Clear();
MyConnection.Open();
//以上打开了数据库并查询出结果
//以下把结果填充到dataset里 主要用dataset的Rows.Count的功能
MyDataAdapter.Fill(MyDataset,"login"); //把结果填充到MyDataset中
//填充的表名是login
//(什么名无所谓)
if (MyDataset.Tables[0].Rows.Count > 0 )
//上面这句是 如果查询后符合条件 的结果集里 有记录(就是记录数>0)
//则说明有这个用户,(通过验证)
{
return true;
}
else
{
return false;
}
}//endtry
catch(Exception ex)
{

return false;
}//endcatch
finally //以下是释放资源
{
if(MyDataset !=null) //为了高效执行,所以加的这个判断
//不加也可以,不过Dispose操作时间
//比起 if 的判断来说,是慢多了。
//一旦try里面执行错误。比如MyConnection
//出现错误,则下面的DataAdapter...都没有被实
//例化则 if判断,没有实例化的没必要dispose了
//可以加快执行速度

{
MyDataset.Dispose();
}
if(MyDataAdapter != null)
{
MyDataAdapter.Dispose();
}
if(MyConnection != null)
{
MyConnection.Close();
MyConnection.Dispose();
}
}//endfinally



}//end CheckUser

  • 打赏
  • 举报
回复
好的。==
yyldir 2006-05-09
  • 打赏
  • 举报
回复
有一些看不懂哟,可不可以注释一下啊,junzhang4008(不会飞的猪),可以把try里面的函数注释一下吗?
MyDataAdapter.Fill(MyDataset,"login"); //login ?
if (MyDataset.Tables[0].Rows.Count > 0 ) //?
{
return true;
}
else
{
return false;
}
}//endtry
catch(Exception ex)
{

return false;
}//endcatch
finally
{
if(MyDataset !=null) //这个是判断?
{
MyDataset.Dispose();
}
if(MyDataAdapter != null)
{
MyDataAdapter.Dispose();
}
if(MyConnection != null) //这个是判断?
{
MyConnection.Close();
MyConnection.Dispose();
}
}//endfinally



}//end CheckUser

有一点看不懂,请知道的帮忙解释一下,谢谢了
kgdxpr 2006-05-09
  • 打赏
  • 举报
回复
最好是能简单一点的。
kgdxpr 2006-05-09
  • 打赏
  • 举报
回复
SqlConnection con;//这个对象是连接数据库的
SqlCommand cmd=new SqlCommand("select count(*) from 表 where username = 用户名 and password = 密码",con);
int count=int.Parse(cmd.ExecuteScalar());
if(count>0)
{
//说明存在此用户
}

int count=int.Parse(cmd.ExecuteScalar()); 这句话不对过不去。
  • 打赏
  • 举报
回复
////////////////////////////////////////////////////////////////////////
//名称  : bool CheckUser (string username,string userpassword, string tablename)
//功能 : 检查用户
//传入类型: string
//传入参数: username = 用户名  ;
// userpassword = 密码 ;
// tablename =  用户密码所在的表名;

//返回类型; bool
//返回值 : true(通过) or false(拒绝) 用户权限通过
////////////////////////////////////////////////////////////////////////
public bool CheckUser (string username,string userpassword, string tablename)
{
//防止用户使用sql经典漏洞( ' or ''=' )入侵系统
//首先检查字符串里是否包含 '  如果有,直接返回false
username=username.Replace("'",""); userpassword=userpassword.Replace("'","");

//以下是执行sql语句检查用户

OleDbConnection MyConnection = null;
OleDbDataAdapter MyDataAdapter= null;
DataSet MyDataset=null;

string sqlstring;
sqlstring="select * from " + tablename + " where username='" + username + "'" + "and password='" + userpassword + "'";
try
{
MyConnection = new OleDbConnection(GetConnectionString());

MyDataAdapter= new OleDbDataAdapter (sqlstring,MyConnection);
MyDataset=new DataSet();
MyDataset.Clear();
MyConnection.Open();
MyDataAdapter.Fill(MyDataset,"login");
if (MyDataset.Tables[0].Rows.Count > 0 )
{
return true;
}
else
{
return false;
}
}//endtry
catch(Exception ex)
{

return false;
}//endcatch
finally
{
if(MyDataset !=null)
{
MyDataset.Dispose();
}
if(MyDataAdapter != null)
{
MyDataAdapter.Dispose();
}
if(MyConnection != null)
{
MyConnection.Close();
MyConnection.Dispose();
}
}//endfinally



}//end CheckUser
guodawu 2006-05-09
  • 打赏
  • 举报
回复
SqlConnection con;//这个对象是连接数据库的
SqlCommand cmd=new SqlCommand("select count(*) from 表 where username = 用户名 and password = 密码",con);
int count=int.Parse(cmd.ExecuteScalar());
if(count>0)
{
//说明存在此用户
}
cbgn 2006-05-09
  • 打赏
  • 举报
回复
SqlConnection conn = new SqlConnection(Application["connect"].ToString ());
//Dim cmd As New SqlCommand("select userpassword, gsmc, emp_name, qx, ssgs, ht_zxdw.mll from yonghu, ht_zxdw where yonghu.ssgs = ht_zxdw.id and username = '" + TextBox1.Text + "'", conn)
SqlCommand cmd = new SqlCommand("SELECT YONGHU.USERPASSWORD,mc FROM YONGHU" , conn);
SqlDataReader dr ;

conn.Open();
dr = cmd.ExecuteReader();

if (!(dr.HasRows))
{
return;
}

dr.Read();

if( this.Login1 .Password == dr.GetValue(0).ToString ())
{


Response.Redirect("login.aspx");
}
dr.Close();
cmd.Dispose();
conn.Close();
conn.Dispose();
kgdxpr 2006-05-09
  • 打赏
  • 举报
回复
然后怎么判断啊?
guodawu 2006-05-09
  • 打赏
  • 举报
回复
"select count(*) from 表 where username = 用户名 and password = 密码"
kgdxpr 2006-05-09
  • 打赏
  • 举报
回复
能不能写的完整一些。
cqq 2006-05-09
  • 打赏
  • 举报
回复
支持
chenyuming2004 2006-05-09
  • 打赏
  • 举报
回复
select count(*) from account where username = 用户名

如果返回值大于0,用户就存在,

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧