c#可视化问题

gy66666 2019-05-03 09:59:12
textBox1.Text == reader.Rows[0]["loginID"].ToString()只能访问数据库的第一行 怎样访问数据库的全部信息?
请各位大佬帮帮忙 谢谢!
...全文
225 8 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
能不能说下怎样遍历
一、应用场景与出发点 同一个系统中,为了解决不同的客户可能需要设计不同的单据打印模板,实现此方法可能是: 1、设计不同的自带RDLC报表文件,根据当前客户加载不同的报表并打印 2、GDI+绘图 和 打印组件 ,不同的客户创建不同的绘图XML格式的模板内容 3、其他第三方组件 主要对比一下前两种方法,第一种方法不好之处在于,不灵活,开发者必须地每个客户制订一个报表,不推荐采用。第二种方法,修改对应的模板内容就可以了, 模板内容可以是Xml文件,也可以是存放在数据库中的Xml格式字符串。推荐采用这种方法。然后这种方法的也有一个棘手问题 :如何让用户快速、方便地设计打印模板,本示例就是为了解决这个问题。 二、实现思路与原理 功能概要:设计一个界面,支持用户自由添加 要打印的项,文本,直线,图片 等,并且可以方便改变打印项的 字体、颜色、粗细、位置,设计时支持效果预览。 技术要点:GDI+绘图、拖动控件、XML解析、自定义控件 三、相关类介绍 绘图工具类:DrawHelper 实现 xml格式模板 与 打印项 之间进行互相转换,在目标画板中绘制 拖动工具类:WinHelper 实现控件的鼠标拖动,键盘移动 自定义控件:用于显示文字的文本框 TextBoxExt、用于显示直线的标签 LabelExt 主窗体代码:用于用户操作,添加,删除,编辑,打印项 详细介绍请参照我的博文:http://de.cel.blog.163.com/blog/static/51451236201472215450939/

110,538

社区成员

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

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

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