I am using SQL dialect 3 and building the SQL string directly in code (instead of hard coded SQL in TIB_Query with ParamByName substitutions).
The end result is the same. That is my SQL statement would appear as follows prior to execution: UPDATE "UserAccounts" SET "Credits" = 100 WHERE "AccountID" = 12345 In SQL dialect 3 field names with differentiated upper and lower case letters must be double quote delimited. If you look at the bottom of my original post you will see that I was trying different values for the CommitAction property, so you can see I was already suspecting that I was not getting my update to commit. Eventually I found the problem. Event though I am not performing transaction based activity, my TIB_Transaction AutoCommit property was set to false. Once I set this to true everything worked fine. Regards, Eric Eric Tishler Software Architect Resolute Partners, LLC Phone: 203.271.1122 Fax: 203.271.1460 [EMAIL PROTECTED] -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Craig Goodall Sent: Saturday, April 03, 2004 8:21 PM To: NZ Borland Developers Group - Delphi List Subject: Re: [DUG] How to commit and update using TIB_Query from code Hi Eric, Your SQL statements look a little strange to me with the quotes etc. Are you commiting your update? I'm more familiar with IBX where I would use a leaner TIBSQL instead of a TIBQuery for an update or delete. Something like: procedure TForm1.Button1Click(Sender: TObject); begin IBTransaction2.StartTransaction; IBSQL1.SQL.Add('Update Office'); IBSQL1.SQL.Add('Set OfficeName = ''Wellington'''); IBSQL1.SQL.Add('Where OfficeID = 9'); IBSQL1.ExecQuery; IBTransaction2.Commit; end; HTH, Craig. >I am running an update query in code using Delphi 6 and IB Objects. I construct the >query manually and then run it using ExecSQL. But the update never seems to take place > >This is my code (where qryTemp is a TIB_Query) > >With DataAccessMod.qryTemp do >Begin > Active := False; > SQL.Clear; > > // construct the query > SQL.Add('UPDATE "UserAccounts" SET '); > SQL.Add('"Credits" = ' + IntToStr(iAmount) + ' '); > SQL.Add('WHERE "AccountID" = ' + IntToStr(iUserID)); > > // run the query > ExecSQL; > > // After doing this I have tried each of the following: (one at a time) > > ApplyUpdates; > > CommitAction := caRefresh; > > CommitAction := caClose; >End; > > _______________________________________________ Delphi mailing list [EMAIL PROTECTED] http://ns3.123.co.nz/mailman/listinfo/delphi _______________________________________________ Delphi mailing list [EMAIL PROTECTED] http://ns3.123.co.nz/mailman/listinfo/delphi
