while singlestepping thru the code, stop after the sql property has been assigned (or just after execsql) and look at sql.text.
we have a permanent monitor built into our app using the ibo Monitor component.
However, it sound s very much like a transaction problem
Eric Tishler wrote:
As I said in my original email ... "> I have debugged this and can clearly see that ALL the fields have the new data"
Thanks for thinking of it though ...
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 Robert martin Sent: Thursday, April 01, 2004 5:37 PM To: NZ Borland Developers Group - Delphi List Subject: Re: [DUG] Problem with table update using IBO
Maybe a silly question but ... Is there definitely a value in txtEmail.Text?
Rob Martin Software Engineer
phone 03 377 0495
fax 03 377 0496
web www.chreos.com
----- Original Message ----- From: "Eric Tishler" <[EMAIL PROTECTED]>
To: "NZ Borland Developers Group - Delphi List" <[EMAIL PROTECTED]>
Sent: Friday, April 02, 2004 10:19 AM
Subject: [DUG] Problem with table update using IBO
I have some information I want to allow a user to update in a table.I want to allow as editable.
First I read the data from the table and populate a dialog with the fields
When the user clicks the Save button I have an update query that gathersdata from the fields and performs an update in the table. This modified data
is used as parameters in the SQL statement.
The problem is that all the fields but one seem to update just fine. Theone field gets the updated information from the dialog, but for some reason
that particular field is not updated in the database table.
The code goes something like this ...UserInfo.UserID; // This is just a data type with current user info
DaDataMod.qryUpdateUserInfo.ParamByName('UserID').asInteger :=
DaDataMod.qryUpdateUserInfo.ParamByName('FirstName').asString :=txtFirstName.Text;
DaDataMod.qryUpdateUserInfo.ParamByName('LastName').asString :=txtLastName.Text;
DaDataMod.qryUpdateUserInfo.ParamByName('EmailAddress').asString :=txtEmail.Text;
data, but the Email field stubbornly refuses to take on a new value. I haveDaDataMod.qryUpdateUserInfo.ExecSQL; DaDataMod.qryUpdateUserInfo.IB_Transaction.CommitRetaining;
The qryUpdateUserInfo Query looks like this:
UPDATE "UserInfo" SET "FirstName" = :FirstName, "LastName" = :LastName, "EmailAddress" = :EmailAddress WHERE "UserID" = :UserID
I have debugged this and can clearly see that ALL the fields have the new
checked and in the database, the Email field is just a VARCHAR(50).
I have tried to look at the SQL statement submitted (using:DaDataMod.qryUpdateUserInfo.ServerSQL), but this is what I see in my log
file:
string submitted? I have tried SQL.Text, but that only show the parameters4:56:12 PM 4/1/2004 SaveAccountInfo: SQL= UPDATE "UserInfo" SET "FirstName" = ? /* FirstName */ , "LastName" = ? /* LastName */ , "EmailAddress" = ? /* EmailAddress */ WHERE "UserID" = ? /* userid */
I have two questions:
1) Is there something better than ServerSQL to use to see that actual SQL
before the substitution
2) Why would all the fields be updated except the EmailAdress field?
I have been 'noodling' with this for the past 2 hours. Help!
Thanks,
Eric
_______________________________________________ Delphi mailing list [EMAIL PROTECTED] http://ns3.123.co.nz/mailman/listinfo/delphi
