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个回答
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
展开全部
错误可能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语句,看下在数据库执行是否正确
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询