🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.interbase.sql
Article #649

Re: Insert using TIBDataset and InsertSQL

#649
From: WillR
Date: Thu, 18 Oct 2007 23:40
79 lines
3110 bytes
WillR wrote:
> dkeene wrote:
>> Hi, Folks
>> I have used interbase with delphi for a while and I am stuck trying to 
>> insert a record in a table. MyTable contains a field MID which is a 
>> unique identifier generated by an appropriate trigger and generator. I 
>> am trying to insert a blank record using a TIBDataset. I have set the 
>> InsertSQL statement to
>>    INSERT INTO MyTable (MID) VALUES (GEN_ID(MyTable_GENERATOR, 1))
>>
>> Then I open the dataset
>>    MyDataset.Open;
>>    MyDataset.Insert;
>>    MyDataset.Post;
>>
>> I get the error "Field MID must have a value"
>>
>> Can anyone suggest the proper way to insert a new record and link the 
>> Generated number to the field?
>>
>> Thank you
>>
>> Doug 
> 
> insert ibdataset widget on datamodule form (I recommend a dm)
> (Name it dm1 for now)
> 
> set Database to appropriate db -- presume you have one
> set transaction to appropriate transaction -- presume you have one.
> 
> Set select (push 3 dots) by SelectSQL property --  just pick a table you 
> know and use form that pops up to do a "select * from mytable" (change 
> later if you like...
> 
> 
> right click on "mydataset" widget...
> (if you get an error message save the datamodule -- sometime it desn't 
> pick up that you chose a table and set SQL immediately ...)
> 
> Choose the dataset editor...
> 
> next...
> click select primary keys button
> click "generate SQL"
> 
> click ok
> 
> (NOW you can go back and check sql that was automatically generated...
> 
> then...
> 
> dm1.ib
> mydataset.insert
> dm1.mydataset.fieldbyname('...').asString; (integer or whatever...)
> .
> .
> .
> 
> dm1.mydataset.post
> 
> 
> 
> And of course use a transaction to make sure record becomes visible...
> 
> There are papers on transactions -- and you _must_ know how to handle them
> 
> 
> Look in the examples -- and maybe you should get a Marco Cantu book for 
> your particular delphi.
> 
> 

Forgot to mention -- set the Generator property in the widget to point 
to the correct generator...


-- 
Will R
PMC Consulting
Technical Details
Message-ID: <4717eeb8$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <4717d98a$1@newsgroups.borland.com> <4717ee7d$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 114a0e,f2331f6236805a9
X-Google-Attributes: gid114a0e,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
Date: Thu, 18 Oct 2007 19:40:24 -0400
From: WillR <willrNo.Spam.pmccl.noSpam.com>
User-Agent: Thunderbird 2.0.0.6 (Windows/20070728)
MIME-Version: 1.0
Newsgroups: borland.public.interbase.sql
Subject: Re: Insert using TIBDataset and InsertSQL
References: <4717d98a$1@newsgroups.borland.com> <4717ee7d$1@newsgroups.borland.com>
In-Reply-To: <4717ee7d$1@newsgroups.borland.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 99.239.226.34
Message-ID: <4717eeb8$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1192750776 99.239.226.34 (18 Oct 2007 16:39:36 -0700)
Lines: 79
Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail