
System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。小弟新手,希望高手详细指点。
stringsql="Select*fromTeacherswhereAcccount='"+txtNum.Text.ToString()+"'";OleDbDataAd...
string sql="Select * from Teachers where Acccount='" + txtNum.Text.ToString() + "'";
OleDbDataAdapter dauser = new OleDbDataAdapter(sql ,conn);
DataSet dsuser = new DataSet();
dauser.Fill(dsuser, "usermessage");//这一句报错
if (dsuser.Tables[0].Rows.Count == 0)//判断用户是否存在
整段代码如下:
protected void btnOk_Click(object sender, ImageClickEventArgs e)
{
if (txtNum.Text.Trim() == "" || txtPwd.Text.Trim() == "")
{
MessageBox.Show("对不起,你还没有输入用户名和密码", "提示");
txtNum.Focus();
}
else
{
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ExamPaperManager.mdb");
conn.Open();
string sql="Select * from Teachers where Acccount='" + txtNum.Text.ToString() + "'";
OleDbDataAdapter dauser = new OleDbDataAdapter(sql ,conn);
DataSet dsuser = new DataSet();
dauser.Fill(dsuser, "usermessage");
if (dsuser.Tables[0].Rows.Count == 0)//判断用户是否存在
//用户不存在,给出提示后清空文本框再定位光标到文本框1
{
MessageBox.Show("对不起,用户名不存在", "提示");
txtNum.Text = "";
txtPwd.Text = "";
txtNum.Focus();
}
else
//用户存在,再判断密码是否正确
{
DataRow[] dr = dsuser.Tables[0].Select("Account='" + txtNum.Text + "'");//为取数据表中某列字段内容做准备
if (string.Compare(dr[0]["Pwd"].ToString(), txtPwd.Text) == 0)//判断密码是否相等到
//密码也正确,则显示登录成功窗体
{
Response.Redirect("welcome.aspx");
}
else
//密码不正确,给出提示,再定位光标重输密码
{
MessageBox.Show("对不起,密码错误,请重新输入", "提示");
txtPwd.Text = "";
txtPwd.Focus();
}
}
}
} 展开
OleDbDataAdapter dauser = new OleDbDataAdapter(sql ,conn);
DataSet dsuser = new DataSet();
dauser.Fill(dsuser, "usermessage");//这一句报错
if (dsuser.Tables[0].Rows.Count == 0)//判断用户是否存在
整段代码如下:
protected void btnOk_Click(object sender, ImageClickEventArgs e)
{
if (txtNum.Text.Trim() == "" || txtPwd.Text.Trim() == "")
{
MessageBox.Show("对不起,你还没有输入用户名和密码", "提示");
txtNum.Focus();
}
else
{
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ExamPaperManager.mdb");
conn.Open();
string sql="Select * from Teachers where Acccount='" + txtNum.Text.ToString() + "'";
OleDbDataAdapter dauser = new OleDbDataAdapter(sql ,conn);
DataSet dsuser = new DataSet();
dauser.Fill(dsuser, "usermessage");
if (dsuser.Tables[0].Rows.Count == 0)//判断用户是否存在
//用户不存在,给出提示后清空文本框再定位光标到文本框1
{
MessageBox.Show("对不起,用户名不存在", "提示");
txtNum.Text = "";
txtPwd.Text = "";
txtNum.Focus();
}
else
//用户存在,再判断密码是否正确
{
DataRow[] dr = dsuser.Tables[0].Select("Account='" + txtNum.Text + "'");//为取数据表中某列字段内容做准备
if (string.Compare(dr[0]["Pwd"].ToString(), txtPwd.Text) == 0)//判断密码是否相等到
//密码也正确,则显示登录成功窗体
{
Response.Redirect("welcome.aspx");
}
else
//密码不正确,给出提示,再定位光标重输密码
{
MessageBox.Show("对不起,密码错误,请重新输入", "提示");
txtPwd.Text = "";
txtPwd.Focus();
}
}
}
} 展开
3个回答
展开全部
string sql="Select * from Teachers where Acccount='" + txtNum.Text.ToString() + "'";
OleDbDataAdapter 的fill方法不支持带参数查询语句 ,只能支持这个语句Select * from Teachers 查询
用OleDbDataReader里面 Load方法
OleDbDataAdapter 的fill方法不支持带参数查询语句 ,只能支持这个语句Select * from Teachers 查询
用OleDbDataReader里面 Load方法

2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
错误可能1.数据库连接字符串不正确,
错误可能2,看看你的conn是否异常
做法:在你的错误语句dauser.Fill(dsuser, "usermessage");//前加一个断点看看语句是怎么样的
肯定是小问题,大体没错
错误可能2,看看你的conn是否异常
做法:在你的错误语句dauser.Fill(dsuser, "usermessage");//前加一个断点看看语句是怎么样的
肯定是小问题,大体没错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库里的字段是Acccount么?应该是Account吧
string sql="Select * from Teachers where Acccount='" + txtNum.Text.ToString() + "'";
这里直接输出sql语句,看下在数据库执行是否正确
string sql="Select * from Teachers where Acccount='" + txtNum.Text.ToString() + "'";
这里直接输出sql语句,看下在数据库执行是否正确
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询