下面代碼為何執行出錯?

vsking 2005-03-07 05:24:19
Access 2000數據庫放在d:\paster\data.mdb中,執行到dr=cmd.ExecuteReader()句中出錯,錯誤提示如下:An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

下面是代碼:
private bool ValidateUser()
{
string strUsername=txtUserID.Text;
string strPassword=txtPassword.Text;

string sql="select UserType from User where Username='"+strUsername+"' and Password='"+strPassword+"'";

OleDbConnection cn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Paster\\Data.mdb");
OleDbCommand cmd=new OleDbCommand(sql,cn);
OleDbDataReader dr;

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

bool flag=false;

while (dr.Read())
{
flag=true;
this.UserType=Convert.ToInt16(dr[0]);
}

dr.Close();
cn.Close();

return flag;
}
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
feihu_02 2005-03-07
  • 打赏
  • 举报
回复
因为SQL语句不能识别User,有两种方法:
1.将此句:string sql="select UserType from User where Username='"+strUsername+"' and Password='"+strPassword+"'";
改为:string sql="select UserType from [User] where Username='"+strUsername+"' and Password='"+strPassword+"'";
2.更改表名User为UserLogin,再更改SQL语句.
AllenTing 2005-03-07
  • 打赏
  • 举报
回复
Users 是保留字,只能照楼上所言
flyskywlh 2005-03-07
  • 打赏
  • 举报
回复
string sql="select UserType from [User] where Username='"+strUsername+"' and Password='"+strPassword+"'";

noyester 2005-03-07
  • 打赏
  • 举报
回复
d:\paster\data.mdb
C#我不熟悉
noyester 2005-03-07
  • 打赏
  • 举报
回复
.0;Data Source=D:\\Paster\\Data.mdb");

这个有问题吧
vsking 2005-03-07
  • 打赏
  • 举报
回复
頭部也加了
using System.Data;
using System.Data.OleDb;

110,499

社区成员

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

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

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