c#可视化问题

gy66666 2019-05-03 09:59:12
textBox1.Text == reader.Rows[0]["loginID"].ToString()只能访问数据库的第一行 怎样访问数据库的全部信息?
请各位大佬帮帮忙 谢谢!
...全文
230 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
张天星 2019-05-04
  • 打赏
  • 举报
回复
引用 6 楼 gy66666 的回复:
private void button1_Click(object sender, EventArgs e) { string sql = "select * from ManInfo"; DataTable reader = DBHelper.GetDataTable(sql); if (string.IsNullOrWhiteSpace(textBox1.Text) || string.IsNullOrWhiteSpace(textBox2.Text)) { Null m3 = new Null(); m3.Show(); this.Hide(); } else { if (textBox1.Text == reader.Rows[0]["loginID"].ToString() && textBox2.Text == reader.Rows[0]["passWord"].ToString()) { Main m1 = new Main(); m1.Show(); this.Hide(); } else { Lose m2 = new Lose(); m2.Show(); this.Hide(); } } } 这是我给button控件写的代码,只能读取数据库第一行,不知道怎样根据你的改
改成:

for (int i =0;i<reader.Rows.Count;i++)
{
    if (textBox1.Text == reader.Rows[i]["loginID"].ToString() && textBox2.Text == reader.Rows[i]["passWord"].ToString())
                {
                    Main m1 = new Main();
                    m1.Show();
                    this.Hide();
                    return;
                }
elseif (i ==1){ //这个elseif不是必须的,而是给你调试用的,比如你登陆了第二行,可是第二行却没有正确登陆,那么你设置i==1,就可以看到第二行读取到的数据是什么样了。。。但是,更加正确的做法是直接断点后查看监视数据
    if (textBox1.Text != reader.Rows[i]["loginID"].ToString() {
    MessageBox.Show($"当前登陆帐号{textBox1.Text},读取帐号{reader.Rows[i]["loginID"].ToString()},数据不符合")
    }
else if (textBox2.Text != reader.Rows[i]["passWord"].ToString() {
    MessageBox.Show($"当前登陆密码{textBox2.Text},读取密码{reader.Rows[i]["passWord"].ToString()},数据不符合")
    }
}
}
Lose m2 = new Lose();
                    m2.Show();                  
                    this.Hide();
threenewbee 2019-05-04
  • 打赏
  • 举报
回复
bool b = false;
while (reader.Read())
{
if (textBox1.Text == reader.Rows[0]["loginID"].ToString() && textBox2.Text == reader.Rows[0]["passWord"].ToString())
{
b = true;
break;
}
}
if (b)
{
Main m1 = new Main();
m1.Show();
this.Hide();

}
else
{
Lose m2 = new Lose();
m2.Show();
System.Threading.Thread.Sleep(2000);
m2.Close();

}
gy66666 2019-05-04
  • 打赏
  • 举报
回复
登录程序只能读取数据库第一行 用第二行数据登录 登不上 并不是显示所有数据
-一个大坑 2019-05-04
  • 打赏
  • 举报
回复
你把数据表所有的在text显示,视觉效果多差
gy66666 2019-05-04
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{

string sql = "select * from ManInfo";
DataTable reader = DBHelper.GetDataTable(sql);
if (string.IsNullOrWhiteSpace(textBox1.Text) || string.IsNullOrWhiteSpace(textBox2.Text))
{
Null m3 = new Null();
m3.Show();
this.Hide();
}
else
{
if (textBox1.Text == reader.Rows[0]["loginID"].ToString() && textBox2.Text == reader.Rows[0]["passWord"].ToString())
{
Main m1 = new Main();
m1.Show();
this.Hide();
}
else
{
Lose m2 = new Lose();
m2.Show();
this.Hide();
}
}
}
这是我给button控件写的代码,只能读取数据库第一行,不知道怎样根据你的改
OrdinaryCoder 2019-05-03
  • 打赏
  • 举报
回复
textBox1.Text == reader.Rows[0]["loginID"].ToString() Rows[0] 是取第一行 遍历所有行就是全部数据了
jx315425246 2019-05-03
  • 打赏
  • 举报
回复
用一FOR循环;;;;;;;;;;;;;;;
gy66666 2019-05-03
  • 打赏
  • 举报
回复
if (textBox1.Text == reader.Rows[0]["loginID"].ToString() && textBox2.Text == reader.Rows[0]["passWord"].ToString())
{
Main m1 = new Main();
m1.Show();
this.Hide();

}
else
{
Lose m2 = new Lose();
m2.Show();
System.Threading.Thread.Sleep(2000);
m2.Close();

}
这是我的代码
gy66666 2019-05-03
  • 打赏
  • 举报
回复
能不能说下怎样遍历

111,098

社区成员

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

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

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