首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi初学者,为啥try中的代码没有执行呢

2012-04-11 
delphi菜鸟求救,为啥try中的代码没有执行呢if sMgid 00 thenbeginif(AScard_gsX.Fields[1].AsString

delphi菜鸟求救,为啥try中的代码没有执行呢
if sMgid = '00' then
  begin
  if(AScard_gsX.Fields[1].AsString='D') then
  day := '白天';
  if(AScard_gsX.Fields[1].AsString='N') then
  day := '夜间';
  Application.MessageBox(PChar('['+day+']挂失成功'),'结果',MB_OK);
  // pCommInfo^.OpInfo.Id; type=cc33
  // Application.MessageBox(pChar(cname ),'确定',MB_OK);

  AScard_type.Close;  
  AScard_type.Params.Clear;
  AScard_type.ParamByName('cdno').AsString := cdno;
  AScard_type.Open;

  cardtype := trim(AScard_type.FieldByName('DB_VIPC_CARD_TYPE').AsString);
  Application.MessageBox(PChar('挂失的卡为['+cardtype+']'),'提示',MB_OK);

  try

  AStempcard_gs.Close; //卡挂失记录插入临时表
  AStempcard_gs.Params.Clear;
  AStempcard_gs.ParamByName('type').AsString := 'CC33';
  AStempcard_gs.ParamByName('cus_id').AsString := idno ;
  AStempcard_gs.ParamByName('cus_name').AsString := cname;
  AStempcard_gs.ParamByName('cdno').AsString := cdno ;
  AStempcard_gs.ParamByName('op_id').AsString := IntToStr(pCommInfo^.OpInfo.Id) ; //////
  AStempcard_gs.ParamByName('result').AsString := '00';
  AStempcard_gs.ParamByName('daytype').AsString := AScard_gsX.Fields[1].AsString;
  AStempcard_gs.open;

  except
  Application.MessageBox('插入数据错误','提示', MB_OK);
  end

  end

[解决办法]
你try的不是地方,可能在你try之前,错误就已经发生
[解决办法]
没有执行,肯定是没有运行到这里,单步调试
[解决办法]
不满足条件吧 执行不下去,不会调试的话加showmessage
[解决办法]
1、可能if条件没满足
2、在try之前发生了异常

跟踪一下看看
[解决办法]
检查点
1、if sMgid = '00' then
2、Application.MessageBox(PChar('['+day+']挂失成功'),'结果',MB_OK);
3、Application.MessageBox(PChar('挂失的卡为['+cardtype+']'),'提示',MB_OK);
4、在try 后加showmessage
5、单步调试。

热点排行