Jump to content

Problem changing dataset at runtime


Guest

Recommended Posts

Message from: "Dennis Ortiz"

 

Hi,

 

if i have afterinsert event attached to a Dataset and change the dataset

at run time i get a runtime error.

 

To avoid the error i need to do this :

 

DSourceProspects.DataSet.AfterInsert := nil;

DSourceProspects.Dataset := nil;

 

unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

 

DSourceProspects.Dataset := IDataset.HLGetDataset;

DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

 

these is not necesary in normal delphi application or UNIGui desktop Mode

.

 

Link to comment
Share on other sites

Message from: "Dennis Ortiz"

 

El 1/11/2011 1:37 PM, Dennis Ortiz escribió:

> Hi,

>

> if i have afterinsert event attached to a Dataset and change the dataset

> at run time i get a runtime error.

>

> To avoid the error i need to do this :

>

> DSourceProspects.DataSet.AfterInsert := nil;

> DSourceProspects.Dataset := nil;

>

> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>

> DSourceProspects.Dataset := IDataset.HLGetDataset;

> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>

> these is not necesary in normal delphi application or UNIGui desktop Mode

 

IDataset already exist in these example,

GetProspectsIDataset(IDataset,NewRecordID) only close the dataset

execute a new sql sentence with newRecordID and open the dataset again.

 

 

.

 

Link to comment
Share on other sites

Message from: "Farshad Mohajeri"

 

"Dennis Ortiz" wrote in message

news:IAyAJScsLHA.2084@anaxagvs227...

> El 1/11/2011 1:37 PM, Dennis Ortiz escribió:

>> Hi,

>>

>> if i have afterinsert event attached to a Dataset and change the dataset

>> at run time i get a runtime error.

>>

>> To avoid the error i need to do this :

>>

>> DSourceProspects.DataSet.AfterInsert := nil;

>> DSourceProspects.Dataset := nil;

>>

>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>

>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>

>> these is not necesary in normal delphi application or UNIGui desktop Mode

>

> IDataset already exist in these example,

> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset execute

> a new sql sentence with newRecordID and open the dataset again.

>

 

What visual DB Controls are attached to the Dataset?

 

 

.

 

Link to comment
Share on other sites

Message from: "Farshad Mohajeri"

 

"Farshad Mohajeri" wrote in message

news:IDLr%23i$sLHA.1580@anaxagvs227...

>

> "Dennis Ortiz" wrote in message

> news:IAyAJScsLHA.2084@anaxagvs227...

>> El 1/11/2011 1:37 PM, Dennis Ortiz escribió:

>>> Hi,

>>>

>>> if i have afterinsert event attached to a Dataset and change the dataset

>>> at run time i get a runtime error.

>>>

>>> To avoid the error i need to do this :

>>>

>>> DSourceProspects.DataSet.AfterInsert := nil;

>>> DSourceProspects.Dataset := nil;

>>>

>>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>>

>>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>>

>>> these is not necesary in normal delphi application or UNIGui desktop

>>> Mode

>>

>> IDataset already exist in these example,

>> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset execute

>> a new sql sentence with newRecordID and open the dataset again.

>>

>

> What visual DB Controls are attached to the Dataset?

 

 

Besides, what code is executed in AfterInsert() event?

 

 

.

 

Link to comment
Share on other sites

Message from: "Farshad Mohajeri"

 

"Dennis Ortiz" wrote in message

news:IAyAJScsLHA.2084@anaxagvs227...

> El 1/11/2011 1:37 PM, Dennis Ortiz escribió:

>> Hi,

>>

>> if i have afterinsert event attached to a Dataset and change the dataset

>> at run time i get a runtime error.

>>

>> To avoid the error i need to do this :

>>

>> DSourceProspects.DataSet.AfterInsert := nil;

>> DSourceProspects.Dataset := nil;

>>

>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>

>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>

>> these is not necesary in normal delphi application or UNIGui desktop Mode

>

> IDataset already exist in these example,

> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset execute

> a new sql sentence with newRecordID and open the dataset again.

>

 

Can you give an example here? Do you change the Table in SQL statement or do

you change the Query component?

 

 

.

 

Link to comment
Share on other sites

Message from: "Dennis Ortiz"

 

>>> if i have afterinsert event attached to a Dataset and change the dataset

>>> at run time i get a runtime error.

>>>

>>> To avoid the error i need to do this :

>>>

>>> DSourceProspects.DataSet.AfterInsert := nil;

>>> DSourceProspects.Dataset := nil;

>>>

>>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>>

>>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>>

>>> these is not necesary in normal delphi application or UNIGui desktop Mode

>>

>> IDataset already exist in these example,

>> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset execute

>> a new sql sentence with newRecordID and open the dataset again.

>>

>

> What visual DB Controls are attached to the Dataset?

 

TUniEdit and TuniDBlookupCombo, I will test with UnidbGrid and let you know

.

 

Link to comment
Share on other sites

Message from: "Dennis Ortiz"

 

El 1/14/2011 10:41 AM, Farshad Mohajeri escribió:

> "Farshad Mohajeri" wrote in message

> news:IDLr%23i$sLHA.1580@anaxagvs227...

>>

>> "Dennis Ortiz" wrote in message

>> news:IAyAJScsLHA.2084@anaxagvs227...

>>> El 1/11/2011 1:37 PM, Dennis Ortiz escribió:

>>>> Hi,

>>>>

>>>> if i have afterinsert event attached to a Dataset and change the dataset

>>>> at run time i get a runtime error.

>>>>

>>>> To avoid the error i need to do this :

>>>>

>>>> DSourceProspects.DataSet.AfterInsert := nil;

>>>> DSourceProspects.Dataset := nil;

>>>>

>>>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>>>

>>>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>>>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>>>

>>>> these is not necesary in normal delphi application or UNIGui desktop

>>>> Mode

>>>

>>> IDataset already exist in these example,

>>> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset execute

>>> a new sql sentence with newRecordID and open the dataset again.

>>>

>>

>> What visual DB Controls are attached to the Dataset?

>

>

> Besides, what code is executed in AfterInsert() event?

 

i test the problem with the following code:

 

IDataset.hlFieldByName('RecordDate').AsDatetime := Date;

IDataset.hlFieldByName('State').AsString := 'PR';

 

 

 

.

 

Link to comment
Share on other sites

Message from: "Dennis Ortiz"

 

El 1/14/2011 10:49 AM, Farshad Mohajeri escribió:

> "Dennis Ortiz" wrote in message

> news:IAyAJScsLHA.2084@anaxagvs227...

>> El 1/11/2011 1:37 PM, Dennis Ortiz escribió:

>>> Hi,

>>>

>>> if i have afterinsert event attached to a Dataset and change the dataset

>>> at run time i get a runtime error.

>>>

>>> To avoid the error i need to do this :

>>>

>>> DSourceProspects.DataSet.AfterInsert := nil;

>>> DSourceProspects.Dataset := nil;

>>>

>>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>>

>>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>>

>>> these is not necesary in normal delphi application or UNIGui desktop Mode

>>

>> IDataset already exist in these example,

>> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset execute

>> a new sql sentence with newRecordID and open the dataset again.

>>

>

> Can you give an example here? Do you change the Table in SQL statement or do

> you change the Query component?

 

The query component is the same, i create once and reuse it closing the

dataset change de sql property and open again.

 

.

 

Link to comment
Share on other sites

Message from: "Farshad Mohajeri"

 

"Dennis Ortiz" wrote in message

news:dw3AKxDtLHA.1580@anaxagvs227...

>>>> if i have afterinsert event attached to a Dataset and change the

>>>> dataset

>>>> at run time i get a runtime error.

>>>>

>>>> To avoid the error i need to do this :

>>>>

>>>> DSourceProspects.DataSet.AfterInsert := nil;

>>>> DSourceProspects.Dataset := nil;

>>>>

>>>> unimainmodule.GetProspectsIDataset(IDataset,NewRecordID);

>>>>

>>>> DSourceProspects.Dataset := IDataset.HLGetDataset;

>>>> DSourceProspects.DataSet.AfterInsert := ProspectAfterInsert;

>>>>

>>>> these is not necesary in normal delphi application or UNIGui desktop

>>>> Mode

>>>

>>> IDataset already exist in these example,

>>> GetProspectsIDataset(IDataset,NewRecordID) only close the dataset

>>> execute

>>> a new sql sentence with newRecordID and open the dataset again.

>>>

>>

>> What visual DB Controls are attached to the Dataset?

>

> TUniEdit and TuniDBlookupCombo, I will test with UnidbGrid and let you

> know

 

If you can provide a complete test case that will be great.

 

 

.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...