為甚麼會中途跳出?

derek 2003-08-25 12:04:28
為甚麼會中途跳出?
bmhtba=this.BindingContext[this.ds,this.ds.Tables["合同備案"].TableName];
bmhtba.PositionChanged+=new System.EventHandler(this.bmhtba_PositionChanged);

bmjksbd=this.BindingContext[this.ds,this.ds.Tables["進口申報單"].TableName];
bmjksbd.PositionChanged+=new System.EventHandler(this.bmjksbd_PositionChanged);

private void bmhtba_PositionChanged(object sender,System.EventArgs e)
{
this.htbah =(string)this.ds.Tables["合同備案"].Rows[this.BindingContext[this.ds,"合同備案"].Position] ["合同備案號"];
this.ds.Tables["進口申報單"].Clear();
this.sltjksbd.CommandText="Select * From 進口申報單 Where 合同備案號=" +this.htbah ;
this.dajksbd.Fill(this.ds,"進口申報單"); //運行到這裡就跳出了, 以下的語句不被執行
this.dataGrid2.SetDataBinding(this.ds,"進口申報單");

int jksbdrc=this.ds.Tables["進口申報單"].Rows.Count ;
if (jksbdrc>0)
{
this.BindingContext[this.ds,"進口申報單"].Position=this.ds.Tables["進口申報單"].Rows.Count-1;
this.jksbdh =(string)this.ds.Tables["進口申報單"].Rows[this.BindingContext[this.ds,"進口申報單"].Position] ["進口申報單號"];
}
else
{this.jksbdh="";}
}

private void bmjksbd_PositionChanged(object sender,System.EventArgs e)
{
this.ds.Tables["進口申報單明細"].Clear();
this.sltjksbdmx.CommandText="Select * From 進口申報單明細 Where 進口申報單號="+this.jksbdh ;
this.dajksbdmx.Fill(this.ds,"進口申報單明細"); //運行到這裡就跳出了, 以下的語句不被執行
this.dataGrid3.SetDataBinding(this.ds,"進口申報單明細");
}


相關問題見:
http://expert.csdn.net/Expert/topic/2176/2176172.xml?temp=.359585
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
维她奶 2003-08-25
  • 打赏
  • 举报
回复
up
fq_ln 2003-08-25
  • 打赏
  • 举报
回复
从你的程序可以看出,你的问题不是 Fill方法的问题,原因在这里:
this.sltjksbdmx.CommandText="Select * From 進口申報單明細 Where 進口申報單號="+this.jksbdh ;
你的sql语句不正确,不能够执行。因为只在进行Fill操作时才进行数据库查询,所以在Fill处报错。

因为Sql语句格式是这样的:select * from mytable where id ='myid'

这样写就行了:
this.sltjksbdmx.CommandText="Select * From 進口申報單明細 Where 進口申報單號="+ "'"+this.jksbdh.Text+"'";
derek 2003-08-25
  • 打赏
  • 举报
回复
selfup

110,529

社区成员

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

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

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