微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

大家帮我看看这几个问题

时间:2017-01-19 04:01  浏览:努力统计中...
各位高手,由于本人是超级菜鸟,现在遇到几个初级的最基本的问题无法解决,请各位高手指教一下: 问题1:我在TComboBox组件里自动添加“1天、2天……10天”,但我的数据表中这个字
各位高手,由于本人是超级菜鸟,现在遇到几个初级的最基本的问题无法解决,请各位高手指教一下:

  问题1:我在TComboBox组件里自动添加“1天、2天……10天”,但我的数据表中这个字段的类型是“数值”型。所以我想在保存数据到数据表中时,将“1天、2天……10天”这些值只保存为1、2……10(即:去除“天”字)。现在我的代码(“新建”按钮的OnClick事件)如下,可只要一点击“新建”按钮,就会出现错误信息: '''' is not a valid integer value。请问为什么?我应该怎么修改?

问题代码:

  begin
  DMMain.dsHiddenMaster.DataSet.FieldByName('整改期限').AsInteger := StrToInt(Copy(fmHRcboxDeadline5.Text,1,Pos('天',text)-1));//我曾将此行中的“-1去掉,其余不变仍然出现这个错误”
  end
2、隔爆沙袋缺水          2、补充水量
 ELSE
  begin
  DMMain.dsHiddenMaster.DataSet.FieldByName('整改期限').AsInteger := StrToInt(Copy(fmHRcboxDeadline5.Text,1,Pos('天',text)-2));
  end; 
  DMMain.dsHiddenMaster.DataSet.FieldByName('整改期限').AsInteger := StrToInt(Copy(fmHRcboxDeadline5.Text,1,Pos('天',text)-1));  
问题2:我做了一个主表,一个从表。但在我点击“新建”按钮进行相关数据的选取、添加后,再点击“保存”按钮时,出现错误信息:DMADOtbHiddenDetails: DataSet not in edit or insert mode(DMADOtbHiddenDetailsTADOTable名称),但我的代码中已经有了“DMMain.dsHiddenDetails.DataSet.Append”这个语句了啊,为什么从表还是不在新建或编辑状态?(DMMain.dsHiddenDetails.DataSet就是DMADOtbHiddenDetails。即便在代码中将DMMain.dsHiddenDetails.DataSet改成DMADOtbHiddenDetails,也仍然会出现这个错误)。

问题2代码如下:

procedure TfmHiddenRecord.fmHRBtnNew26Click(Sender: TObject);
Var
  HiddenLines, MeasureLines: Integer;
begin
我最终想要实现的目的:
 DMMain.dsHiddenMaster.DataSet.Append;
 DMMain.dsHiddenMaster.DataSet.FieldByName('隐患编号').AsInteger := DMMain.dsHiddenMaster.DataSet.RecordCount + 1;
 DMMain.dsHiddenMaster.DataSet.FieldByName('检查日期').AsDateTime := fmHRdtExamine1.Date;
 DMMain.dsHiddenMaster.DataSet.FieldByName('被检单位').AsString := fmHRcboxUnit2.Text;
 DMMain.dsHiddenMaster.DataSet.FieldByName('负责人').AsString := fmHRcboxReceived3.Text;
 DMMain.dsHiddenMaster.DataSet.FieldByName('检查人').AsString := fmHRcboxRummager4.Text;
 IF fmHRcboxDeadline5.ItemIndex < 10 then
  begin
  end
  IF fmHRcboxDeadline5.ItemIndex < 10 then
 ELSE
  DMMain.dsHiddenMaster.DataSet.FieldByName('整改期限').AsInteger := StrToInt(Copy(fmHRcboxDeadline5.Text,1,Pos('天',text)-2));
  end;
 DMMain.dsHiddenMaster.DataSet.FieldByName('整改期限').AsInteger := StrToInt(LeftStr(fmHRcboxDeadline5.Text,1));
 DMMain.dsHiddenMaster.DataSet.FieldByName('检查单位意见').AsString := fmHRedIdea6.Text;
 For HiddenLines := 0 To fmHRreDetails7.Lines.Count - 1 Do
  begin
  DMMain.dsHiddenMaster.DataSet.Append;
  DMMain.dsHiddenDetails.DataSet.FieldByName('父编号').AsInteger := DMMain.dsHiddenMaster.DataSet.FieldByName('隐患编号').AsInteger;
  DMMain.dsHiddenDetails.DataSet.FieldByName('编号').AsInteger := DMMain.dsHiddenMaster.DataSet.FieldByName('隐患编号').AsInteger + StrToInt('-1');
  DMMain.dsHiddenDetails.DataSet.FieldByName('内容类型').AsInteger := 1;
  DMMain.dsHiddenDetails.DataSet.FieldByName('文本内容').AsString := fmHRreDetails7.Lines.Strings[HiddenLines];
  begin
 For MeasureLines := 0 To fmHRreMeasure8.Lines.Count - 1 Do
  begin
  DMMain.dsHiddenMaster.DataSet.Append;
  DMMain.dsHiddenDetails.DataSet.FieldByName('内容类型').AsInteger := 2;
  DMMain.dsHiddenDetails.DataSet.FieldByName('文本内容').AsString := fmHRreMeasure8.Lines.Strings[MeasureLines];
  end;
 fmHRedCode0.Text := IntToStr(DMMain.dsHiddenMaster.DataSet.RecordCount + 1);
end;

1. 直接用StrToInt(Copy(fmHRcboxDeadline5.Text,1,Pos('天',fmHRcboxDeadline5)-1))
2. 出问题的代码,注意红色部分
DMMain.dsHiddenMaster.DataSet.Append; 



第1个红色看不出来有什么毛病。
另外,还有几个问题:
第2个红色代码:
  “父编号”是从表里的字段。主表与从表的关联是:主表的“编号”字段与从表的“父编号”字段进行关联。
  第2行红色代码的意思是,点击“保存”按钮时,将为父表里的“编号”字段赋的值一并保存到从“从表”里的“父编号”字段。
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------