在位置-1处没有任何行
for (int i = 0; i < ds.Tables[ "门诊shoufei "].Rows.Count;i++ )
{
if (textBox1.Text == ds.Tables[ "门诊shoufei "].Rows[i][ "编号 "].ToString())
{
no = i;
break;
}
}
textBox2.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "姓名 "].ToString();
textBox3.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "性别 "].ToString();
textBox4.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "科室 "].ToString();
textBox5.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "年龄 "].ToString();
textBox6.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "应收费 "].ToString();
textBox7.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "项目1 "].ToString();
textBox8.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "项目2 "].ToString();
textBox9.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "项目3 "].ToString();
textBox10.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "项目4 "].ToString();
textBox11.Text = ds.Tables[ "门诊shoufei "].Rows[no][ "时间 "].ToString();
myconn.Close();
运行提示“在位置-1处没有任何行”,
哪里出错了?
[解决办法]
很明显没有执行if里面的语句,没有对no进行赋值
[解决办法]
你想实现什么功能
你这段代码逻辑上有问题 如果if语句一直不成立 则no=?
[解决办法]
if (textBox1.Text == ds.Tables[ "门诊shoufei "].Rows[i][ "编号 "].ToString())
{
no = i;
break;
}
没执行。
no 没赋值,所以是 -1 ;
把下面的 Textbox.Text 赋值 语句 放到 no 赋值语句之后好些。
TextBox.text 赋值后 再 break;
[解决办法]
如果放 if 里了 就 直接 用 i 连 no 都不用了。
textBox2.Text = ds.Tables[ "门诊shoufei "].Rows[i][ "姓名 "].ToString();
[解决办法]
if条件不符语句块里代码没有执行...
在外面判断一下no不为-1,再进行下面赋值语句...
[解决办法]
所以不对噻