起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: 江振辉

【结贴】不让保存,奇怪!求助!!!!**

[复制链接]
 楼主| 发表于 2009-7-7 16:43:37 | 显示全部楼层
我在studio中调试运行,我写的代码能通过!到我点系统自带的工具栏的时候就报上面的错误,我重建了一下数据集也不行,做的是一个弹出窗体
回复 支持 反对

使用道具 举报

发表于 2009-7-7 16:49:59 | 显示全部楼层
把相关的信息贴上来看看或者做一个简单例子传上来看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 16:57:06 | 显示全部楼层
这个是数据集的图

aee23235-3c6d-440b-aca6-b11f87691b40.jpg

30.85 KB, 下载次数: 56

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 16:59:01 | 显示全部楼层

不让保存

这个是我弹出窗体的图片,代码:static function TPJXXXZ_SXCT.GetOpinionID(AContext: TContext): String;
var
  lForm: TPJXXXZ_SXCT;
begin
  lForm := TPJXXXZ_SXCT.Create(AContext);
  try
    if lForm.DataSetBroker1.Dataset.Active then
      begin
        TSqlDataSet(lForm.DataSetBroker1.Dataset).SQLFilter := '1<>1';
        TSqlDataSet(lForm.DataSetBroker1.Dataset).SQLFiltered := true;
        lForm.DataSetBroker1.Dataset.Open;
        //lForm.DataSetBroker1.Dataset.Open;
      end;
    if lForm.ShowModal = Controls.mrOK then
      Result := lForm.DataSetBroker1.Dataset.FieldByName('opinionInfoId').AsString;
  finally
    lForm.Free;
  end;
end;

procedure TPJXXXZ_SXCT.Button1Click(Sender: TObject);
var
   IOpinionContent: String;
   IOpinionTypeId: String;
   IServiceTypeName: String;
begin
  IOpinionTypeId := DataEdit1.Text;
  IOpinionContent := Edit1.Text;
  IServiceTypeName := DataEdit2.Text;

  if not (IOpinionTypeId = '') and not (IOpinionContent = '') then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := 'opinionContent like ''%'+ IOpinionContent + '%'' and opinionTypeName = ''' + IOpinionTypeId +''' and serviceTypeName = ''' + IServiceTypeName +'''';
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
  if not (IOpinionContent = '') and (IOpinionTypeId = '')then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := 'opinionContent like ''%'+ IOpinionContent + '%''' ;
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
  if not (IOpinionTypeId = '') and (IOpinionContent = '')then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := 'opinionTypeName = '''+ IOpinionTypeId +''' and serviceTypeName = ''' + IServiceTypeName +'''' ;
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
  if (IOpinionTypeId = '') and (IOpinionContent = '') then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := '1=1';
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
end;

177e84dd-4069-4735-ba8e-6197053e238a.jpg

134.23 KB, 下载次数: 56

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 17:00:18 | 显示全部楼层
这是那个弹出窗体代码static function TPJXXXZ_SXCT.GetOpinionID(AContext: TContext): String;
var
  lForm: TPJXXXZ_SXCT;
begin
  lForm := TPJXXXZ_SXCT.Create(AContext);
  try
    if lForm.DataSetBroker1.Dataset.Active then
      begin
        TSqlDataSet(lForm.DataSetBroker1.Dataset).SQLFilter := '1<>1';
        TSqlDataSet(lForm.DataSetBroker1.Dataset).SQLFiltered := true;
        lForm.DataSetBroker1.Dataset.Open;
        //lForm.DataSetBroker1.Dataset.Open;
      end;
    if lForm.ShowModal = Controls.mrOK then
      Result := lForm.DataSetBroker1.Dataset.FieldByName('opinionInfoId').AsString;
  finally
    lForm.Free;
  end;
end;

procedure TPJXXXZ_SXCT.Button1Click(Sender: TObject);
var
   IOpinionContent: String;
   IOpinionTypeId: String;
   IServiceTypeName: String;
begin
  IOpinionTypeId := DataEdit1.Text;
  IOpinionContent := Edit1.Text;
  IServiceTypeName := DataEdit2.Text;

  if not (IOpinionTypeId = '') and not (IOpinionContent = '') then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := 'opinionContent like ''%'+ IOpinionContent + '%'' and opinionTypeName = ''' + IOpinionTypeId +''' and serviceTypeName = ''' + IServiceTypeName +'''';
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
  if not (IOpinionContent = '') and (IOpinionTypeId = '')then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := 'opinionContent like ''%'+ IOpinionContent + '%''' ;
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
  if not (IOpinionTypeId = '') and (IOpinionContent = '')then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := 'opinionTypeName = '''+ IOpinionTypeId +''' and serviceTypeName = ''' + IServiceTypeName +'''' ;
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
  if (IOpinionTypeId = '') and (IOpinionContent = '') then
     begin
         TSqlDataSet(DataSetBroker1.Dataset).SQLFilter := '1=1';
         TSqlDataSet(DataSetBroker1.Dataset).SQLFiltered := true;
     end;
end;

177e84dd-4069-4735-ba8e-6197053e238a.jpg

134.23 KB, 下载次数: 57

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 17:04:43 | 显示全部楼层
这个是运行时候弹出正常,也能查询,也能选择后点下面的OK按钮也能将我想要的数据写到父窗体上,

42eb33ca-a5b4-4eaa-85f6-9d4390f893ed.jpg

83.96 KB, 下载次数: 57

回复 支持 反对

使用道具 举报

发表于 2009-7-7 17:33:00 | 显示全部楼层
远程沟通后,是数据表有问题了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-8 09:19:53 | 显示全部楼层
具体也没有搞清楚什么原因导致物理表的更新失败,谢谢,你们的支持!
回复 支持 反对

使用道具 举报

发表于 2009-7-8 09:59:05 | 显示全部楼层
楼主,你是怎么处理的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-8 11:31:21 | 显示全部楼层
找到原因了,因为我让同事在上述更新的表上建一个触发器,触发器没写正确,所以就出现了No.1楼的错误!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 07:30 , Processed in 0.041493 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表