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

FormCreate和FormShow事有关问题

2013-01-05 
FormCreate和FormShow事问题启动窗体时经常要加载sql语句或存储过程后显示在窗体grid表格里放在FormCreate

FormCreate和FormShow事问题
启动窗体时经常要加载sql语句或存储过程后显示在窗体grid表格里

放在FormCreate里有时加载不成功,
譬如下面的代码放在FormCreate里就不行,放在FormShow里就没问题。

   with ADOStoredProc1 do
    begin
      Close;
      Parameters.ParamByName('@ddlb').Value := 1;
      Parameters.ParamByName('@hl').Value := 6.301;
      Parameters.ParamByName('@DyStartDate').Value := '2012-9-1';
      Parameters.ParamByName('@DyEndDate').Value := '2012-9-30';
      prepared := true;
      ExecProc;
      Open;
    end;

请问应该放在FormCreate里还是放在FormShow里? 
[解决办法]
FormCreate比FormShow早执行,不成功的原因可能是一些需要用到的对象或属性还没准备好。
[解决办法]
放在FormCreate里面时是不是报错了?提示什么错误?
将你创建这个窗口的代码贴出来,可能是ADOStoredProc1有些参数是在Create后初始化,所以在FormCreate里面执行SQL时报错。
[解决办法]
with?ADOStoredProc1?do这里有了个WITH DO 结构,在里面直接写TAG则成了ADOStoredProc1.tag了。
初学时我常犯这个错误。
Self表示本类。所以没问题。

热点排行