现要设计一个登陆窗口,有botton1按钮、textbox1和textbox2。需要连接access数据库文件1.dmb,读取表login中的name列和psw列。
当点击botton1按钮时,验证textbox1和textbox2里输入的字符串是分别否等于name列或psw列,若其中一个不等则提示错误,否则通过。我想请问,怎么把name列和psw列的字符作为判断条件去判断是否和textbox1和textbox2输入的字符串相等?代码该如何写?
以下为已编写的代码,If条件内该怎么写?private void button1_Click(object sender, EventArgs e)
{
string Afile = "provider=Microsoft.Jet.OleDb.4.0;Data Source=1.mdb";
OleDbConnection AconnStr = new OleDbConnection(Afile);
OleDbCommand Acmd = new OleDbCommand("select name,psd from login",AconnStr);
OleDbDataReader odr = OleDbCommand.ExecuteReader();
AconnStr.Open();
odr = Acmd.ExecuteReader();
if (???)
MessageBox.Show("账号或密码错误");
else
{
Form a = new mainwindows();
a.Show();
this.Hide();
}
当点击botton1按钮时,验证textbox1和textbox2里输入的字符串是分别否等于name列或psw列,若其中一个不等则提示错误,否则通过。我想请问,怎么把name列和psw列的字符作为判断条件去判断是否和textbox1和textbox2输入的字符串相等?代码该如何写?
以下为已编写的代码,If条件内该怎么写?private void button1_Click(object sender, EventArgs e)
{
string Afile = "provider=Microsoft.Jet.OleDb.4.0;Data Source=1.mdb";
OleDbConnection AconnStr = new OleDbConnection(Afile);
OleDbCommand Acmd = new OleDbCommand("select name,psd from login",AconnStr);
OleDbDataReader odr = OleDbCommand.ExecuteReader();
AconnStr.Open();
odr = Acmd.ExecuteReader();
if (???)
MessageBox.Show("账号或密码错误");
else
{
Form a = new mainwindows();
a.Show();
this.Hide();
}
解决方案 »
- Gmap.net开发winform地图
- Hashtable的 value是自定义类型时,如何取value?
- 求使用RegularExpressionValidator限制文本框内容不能输入\/*:?"<>| 这几个字符的正则表达式
- 自定义纸张,预览正常,打印不正常为啥啊?
- 请教dataGrid 打印问题
- asp.net里面怎么在这个页面传参数到另外一个叶面并打开
- 关于c#调用c++dll的问题!无法加载!求救啊!
- 跨线程问题
- 怎样使一个程序只能有一个实例?
- 请教:如何把picturebox里面地Image保存到SQLServer数据库中同时可以将图片压缩!
- 如何在gridview控件里既有删除又有选择按钮如何分别写事件??
- 请教大家如何向数据库一次写入多条数据的.(方法不限)
select name,psd from login where name='"+textbox1.text.tostring()+"' and psd='"+textbox2.text.tostring()+"' 如果查询结果为空,就是输入不正确
如果查询结构不为空,就是输入正确了嘛
不过在查询前最好先过滤下字符串哦
防止输入为空,或是输入非法的字符最近服务器被sql注入的注入怕了以前一个同事写的80%的页面都能被sql注入
一直在修改,头大啊...
textbox2.text=odr["表中密码字段的名"].toString();
BEGIN
可以返回一个值,代表存在这条记录,也就是可以登陆
END
{
MessageBox.Show("账号或密码错误");
}或者
select name,psd from login where name = @name and psd=@pad
if(DataTable.Rows.Count == 0)
{
MessageBox.Show("账号或密码错误");}
string Afile = "provider=Microsoft.Jet.OleDb.4.0;Data Source=1.mdb";
OleDbConnection AconnStr = new OleDbConnection(Afile);
OleDbCommand Acmd = new OleDbCommand(string.Format("select name,psd from login where name='{0}' and psd='{1}'",AconnStr);
OleDbDataReader odr = OleDbCommand.ExecuteReader();
AconnStr.Open();
odr = Acmd.ExecuteReader();
if (!odr.HasRows)
{ Form a = new mainwindows();
a.Show();
this.Hide();
}
else
MessageBox.Show("账号或密码错误");
string Afile = "provider=Microsoft.Jet.OleDb.4.0;Data Source=1.mdb";
OleDbConnection AconnStr = new OleDbConnection(Afile);
OleDbCommand Acmd = new OleDbCommand(string.Format("select name,psd from login where name='{0}' and psd='{1}'",textbox1.Text.Trim(),textbox2.Text.Trim()),AconnStr);
OleDbDataReader odr = OleDbCommand.ExecuteReader();
AconnStr.Open();
odr = Acmd.ExecuteReader();
if (!odr.HasRows)
{
Form a = new mainwindows();
a.Show();
this.Hide();
}
else
MessageBox.Show("账号或密码错误");
刚刚没有写完这句
odr.getvalue(index)获取相应列数据