Row cannot be located for updating some
For example, the Join Data example is built around an ADODataset component that uses the previous SQL join.
If you run it, you can edit one of the fields and save the changes (by moving off the record).
This statement provides a list of orders and the customers that placed those orders.
The BDE considers any SQL join to be read-only because inserting, updating, and deleting rows in a join is ambiguous.
For example, should the insert of a row into the previous join result in a new product and also a new supplier, or just a new product?
The Client Data Set/Provider architecture allows you to specify a primary update table (and advanced features actually not covered in the book) and also customize the updates' SQL, as we partially saw in Chapter 14 and we'll further explore in Chapter 16, "Multitier Data Snap Applications." ADO supports an equivalent to cached updates called batch updates, which are similar to the BDE approach.
However, in this section you won't need them to solve the problem of updating a join, because in ADO, joins are naturally updatable.When we try to execute an update statement against the remote server as below The OLE DB provider "MSDASQL" for linked server "MYLINKEDSERVER" could not UPDATE table "[MSDASQL]".We tried tweaking the update query but still was not able to overcome the error I searched regarding the error and finally managed to get the solution from a forum.The explanation can be found by following the same logic for deletions as for insertions.Two SQL Even if you understand how this process works, it's helpful to look at this problem through the users' eyes.
Search for row cannot be located for updating some:
The solution required tweaking a small setting in the ODBC DSN property as shown below Once we set the Return matched rows instead of affected rows option the UPDATE query executed successfully.