现在有这样的模块需要处理:如教务信息系统中,新生入学登记,但登记过程中,可能输入不对,或信息不全的情况,需要进行修改,DBGrid已经指向数据源,但怎么点修改就是调不出学生的原始信息,请问这样的问题要怎么解决呢?第一个模块是修改按钮事件,第二个是FormShow()来显示数据,
第一个
procedure Tfrmxsmx.BitBtn5Click(Sender: TObject);
begin
if ADOxscxQuery1.RecordCount=0 then begin
ShowMessage('没有未入库商品~~!');
Exit;
end;
if xsAdd<>nil then
xsAdd.ShowModal
else begin
xsAdd:=TxsAdd.Create(Application);
xsAdd.ShowModal;
end;
end;第二个
procedure TxsAdd.FormShow(Sender: TObject);
begin
xh.Text :=DM.ADOxscxQuery.Fieldbyname('XH').AsString;
begin
with DM.ADOxscxQuery DO
begin
SQL.Clear;
SQL.Add('Select * from xscx_view Where xh='''+xh.Text+'''');
Open;
if RecordCount<>0 then
begin
//xh.Text :=Fieldbyname('XH').AsString;
Edit35.Text := Fieldbyname('ksh').AsString;
Edit34.Text := Fieldbyname('kybm').AsString;
Edit33.Text := Fieldbyname('xm').AsString;
Edit32.Text := Fieldbyname('zym').AsString;
ComboBox12.Text := Fieldbyname('xb').AsString;
DateTimepicker1.DateTime :=StrToDate(Fieldbyname('csrq').AsString);
Edit30.Text := Fieldbyname('sfzh').AsString;
Edit29.Text := Fieldbyname('zzmmmc').AsString;
mzmc.Text := Fieldbyname('mzmc').AsString;
xbmc.Text := Fieldbyname('xbmc').AsString;
Edit40.Text := Fieldbyname('zymc').AsString;
Edit41.Text := Fieldbyname('bjmc').AsString;
xzComboBox.Text := Fieldbyname('xzmc').AsString;
Edit38.Text := Fieldbyname('sf').AsString;
Edit31.Text := Fieldbyname('lydq').AsString;
jzxm.Text := Fieldbyname('jzxm').AsString;
Edit36.Text := Fieldbyname('lxdh').AsString;
Edit39.Text := Fieldbyname('jtdz').AsString;
Edit28.Text := Fieldbyname('yzbm').AsString;
Edit27.Text := Fieldbyname('xkml').AsString;
Edit26.Text := Fieldbyname('byxxmc').AsString;
Edit37.Text := Fieldbyname('zylb').AsString;
DateTimepicker2.DateTime :=StrToDate(Fieldbyname('lqsj').AsString) ;
end
else
begin
xh.Text :='';
Edit35.Text := '';
Edit34.Text := '';
Edit33.Text := '';
Edit32.Text := '';
Edit30.Text := '';
Edit29.Text := '';
mzmc.Text := '';
xbmc.Text := '';
Edit40.Text := '';
Edit41.Text := '';
xzComboBox.Text := '';
Edit38.Text := '';
Edit31.Text := '';
jzxm.Text := '';
Edit36.Text := '';
Edit39.Text := '';
Edit28.Text := '';
Edit27.Text := '';
Edit26.Text := '';
Edit37.Text := '';
end;
end;
end;
end;
第一个
procedure Tfrmxsmx.BitBtn5Click(Sender: TObject);
begin
if ADOxscxQuery1.RecordCount=0 then begin
ShowMessage('没有未入库商品~~!');
Exit;
end;
if xsAdd<>nil then
xsAdd.ShowModal
else begin
xsAdd:=TxsAdd.Create(Application);
xsAdd.ShowModal;
end;
end;第二个
procedure TxsAdd.FormShow(Sender: TObject);
begin
xh.Text :=DM.ADOxscxQuery.Fieldbyname('XH').AsString;
begin
with DM.ADOxscxQuery DO
begin
SQL.Clear;
SQL.Add('Select * from xscx_view Where xh='''+xh.Text+'''');
Open;
if RecordCount<>0 then
begin
//xh.Text :=Fieldbyname('XH').AsString;
Edit35.Text := Fieldbyname('ksh').AsString;
Edit34.Text := Fieldbyname('kybm').AsString;
Edit33.Text := Fieldbyname('xm').AsString;
Edit32.Text := Fieldbyname('zym').AsString;
ComboBox12.Text := Fieldbyname('xb').AsString;
DateTimepicker1.DateTime :=StrToDate(Fieldbyname('csrq').AsString);
Edit30.Text := Fieldbyname('sfzh').AsString;
Edit29.Text := Fieldbyname('zzmmmc').AsString;
mzmc.Text := Fieldbyname('mzmc').AsString;
xbmc.Text := Fieldbyname('xbmc').AsString;
Edit40.Text := Fieldbyname('zymc').AsString;
Edit41.Text := Fieldbyname('bjmc').AsString;
xzComboBox.Text := Fieldbyname('xzmc').AsString;
Edit38.Text := Fieldbyname('sf').AsString;
Edit31.Text := Fieldbyname('lydq').AsString;
jzxm.Text := Fieldbyname('jzxm').AsString;
Edit36.Text := Fieldbyname('lxdh').AsString;
Edit39.Text := Fieldbyname('jtdz').AsString;
Edit28.Text := Fieldbyname('yzbm').AsString;
Edit27.Text := Fieldbyname('xkml').AsString;
Edit26.Text := Fieldbyname('byxxmc').AsString;
Edit37.Text := Fieldbyname('zylb').AsString;
DateTimepicker2.DateTime :=StrToDate(Fieldbyname('lqsj').AsString) ;
end
else
begin
xh.Text :='';
Edit35.Text := '';
Edit34.Text := '';
Edit33.Text := '';
Edit32.Text := '';
Edit30.Text := '';
Edit29.Text := '';
mzmc.Text := '';
xbmc.Text := '';
Edit40.Text := '';
Edit41.Text := '';
xzComboBox.Text := '';
Edit38.Text := '';
Edit31.Text := '';
jzxm.Text := '';
Edit36.Text := '';
Edit39.Text := '';
Edit28.Text := '';
Edit27.Text := '';
Edit26.Text := '';
Edit37.Text := '';
end;
end;
end;
end;
请问是这个语句有问题吗?还是别的原因呢?
project projext1.exe raised exception class EConvertError with message '''is not a valid date'.process stopped.used step or run to continue
未证实,只是推测
Fieldbyname('csrq').AsString:=FormatDateTime('yyyy-mm-dd',DateTimepicker1.DateTime);
调试时没有出错啦,是运行时报错啦,真不知道是什么原因呢,曾经我已经调试通过啦,并且运行时也没有报错,但过了一段时间后,我并没有作任何的修改操作,再进行程序的运行就报这样的错误啦,请问这是什么原因呢?
DateTimepicker1.DateTime :=StrToDate(Fieldbyname('csrq').AsString);
这样都会有错吗?
you can pass a default data .