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

重新整理一下,怎样将自动换行的内容做为一条记录来保存?解决方案

2012-06-09 
重新整理一下,怎样将自动换行的内容做为一条记录来保存?我最终想要实现的目的:隐患内容          整改措施

重新整理一下,怎样将自动换行的内容做为一条记录来保存?
我最终想要实现的目的:

  隐患内容          整改措施
1、风筒有破口          1、粘补风筒
2、隔爆沙袋缺水         2、补充水量
3、迎头20m处水幕有2个      3、更换喷头
  喷头堵塞
4、迎头50m处水幕未接入      4、立即接入水源
  水源
N、……           N、……

现在有几个问题:

  问题1:要实现以上目的,涉及到区分自动换行和按回车键换行,(我想要的是按回车换行后,做为一条记录保存进数据表中;自动换行的,不管有多少行,都做为一条记录保存。如:“目的”中的3、4)。应该怎样编写代码?

  问题2:我编写的代码不能区分自动换行和按回车键换行,这一点我知道。但在点击“保存”按钮时,总是出现“DMADOtbHiddenDetails:DataSet not in Edit or Insert mode”的错误信息,即使将DMMain.dsHiddenDetails.DataSet改为DMADOtbHiddenDetails也会出现这个错误。我怀疑是由于For循环造成的,但不知道怎么修改。

  问题3:对应“隐患内容”和“整改措施”字段的两个TRichEdit组件在保存数据时,都需要使用For循环语句,这两个语句是什么样的关系?(一个包含另一个,还是谁都不包含谁,以下两种哪一种?)

  在“隐患排查”窗体中添加两个TRichEdit组件,名字分别为:fmHRreDetails7(对应表中“隐患内容”字段)、fmHRreMeasure8(对应表中“整改措施”字段)。实际工作中有一条“隐患内容”就必须有一条“整改措施”。

以下代码中:

  我将TADOTable、TDataSource统一放在了TDataMoudal中(TDataMoudal的名字是:DMMain。TDataSource的名字是:主表是dsHiddenMaster,从表是:dsHiddenDetails);

  将“新建、保存”等按钮放在“隐患排查”窗体中(窗体名字是:fmHiddenRecord)。, “隐患排查”窗体中,“新建”按钮的名字是:fmHRBtnNew26。

  数据库表中,主表的“编号”字段与从表的“父编号”字段进行关联。其中,主表“编号”字段的类型是“数值”型,从表“父编号”字段是“数值”型、从表“编号”字段是“文本”型。


代码如下:

procedure TfmHiddenRecord.fmHRBtnNew26Click(Sender: TObject);
begin
 DMMain.dsHiddenMaster.DataSet.Append;
 fmHRedCode0.Text := '0000'+ IntToStr(DMMain.dsHiddenMaster.DataSet.RecordCount + 1);
end;

procedure TDMMain.DMADOtbHiddenDetailsBeforePost(DataSet: TDataSet);
Var
  HiddenLines, MeasureLines: Integer;
IF DMMain.dsHiddenMaster.DataSet.State = dsInsert then
 begin
  For HiddenLines := 0 To fmHiddenRecord.fmHRreDetails7.Lines.Count - 1 Do
 begin
  DMMain.dsHiddenDetails.DataSet.Append;
  …… //字段赋值代码
  DMMain.dsHiddenDetails.DataSet.FieldByName('隐患内容').AsString :=fmHiddenRecord.fmHRreDetails7.Lines.Strings[HiddenLines];
  For MeasureLines := 0 To fmHiddenRecord.fmHRreMeasure8.Lines.Count - 1 Do
  begin
  DMMain.dsHiddenDetails.DataSet.FieldByName('整改措施').AsString :=fmHiddenRecord.fmHRreMeasure8.Lines.Strings[MeasureLines];
  end;
 end;
end;


[解决办法]
#13#10,处理这个就好

热点排行