Dynamic data import / export

datenbank

simply more productive
Up to 10,000 records can be processed with the freeware version!
Welcome, Guest
Username: Password: Remember me
Welcome to the FlowHeater support forum.

Questions about using FlowHeater are answered here.

TOPIC: Deleted Items

Deleted Items 5 years 2 months ago #2150

  • Niel Bullock
  • Niel Bullock's Avatar
  • Offline
  • New Member
  • Posts: 6
How can I remove items in the Write side that have been deleted from the Read side?
The administrator has disabled public write access.

Re:Deleted Items 5 years 2 months ago #2151

  • FlowHeater-Team
  • FlowHeater-Team's Avatar
  • Offline
  • Administrator
  • Posts: 240
Hi Niel,

FlowHeater can’t synchronize deleted records between READ and WRITE! It’s possible to delete records on the READ and/or the WRITE with the help of the .NET Script Heater and an additional deleted flag field.

I’ve made a little example. In the ZIP archive a small access database (mdb) file are also included.
public object DoWork()
{
  if (InValues.Length != 2)
  {
    throw new Exception("2 input parameter expected");
  }

  // don't execute SQL delete statements in test mode!
  if (AdapterWrite.OnlyTest == false)
  {
    // get field value "ID" = first input parameter
    int iID = (int)InValues[0].GetInt();

    // get field value "DeleteFlag" = second input parameter
    bool bDelete = (bool)InValues[1].GetBoolean();
   
    if (bDelete)
    {
      string sql1 = "delete from Your_Table_on_READ where id = " + iID.ToString("0");
      string sql2 = "delete from Your_Table_on_WRITE where id = " + iID.ToString("0");

      // Execute the delete SQL statement on the READ database
      AdapterRead.Execute(sql1);

      // Execute the delete SQL statement on the WRITE database
      AdapterWrite.Execute(sql2);
    }
  }
  
  // just returning the first input parameter = field ID
  return InValues[0].GetValue();
}

The script in the .NET Script Heater gets the Primary Key and the deleted Flag field. In case of the deleted flag is set to true the script execute a custom SQL delete statement on both sides.

CAUTION: Please take care when making use of this method. If an incorrect SQL WHERE condition is entered here you could inadvertently delete the wrong database rows or even the entire table contents!

Attachment delete_records.zip not found

Attachments:
Best wishes
Robert Stark

Did this answer your question? We would be grateful if you provide a brief comment as feedback. It may also help others who may have encountered a similar problem.
The administrator has disabled public write access.

Re:Deleted Items 5 years 2 months ago #2152

  • Niel Bullock
  • Niel Bullock's Avatar
  • Offline
  • New Member
  • Posts: 6
I can see how this can work however, my Read DB is a bought application and I don't have the ability to add. I will need to research that db and look for a delete field.
The administrator has disabled public write access.
Moderators: FlowHeater-Team
Time to create page: 0.073 seconds