[freetds] prepared statements in db-lib

Andrew H. Wakefield a_wake at earthlink.net
Sun Feb 21 16:02:24 EST 2010


Paul,

I had considered this option ... but wasn't quite sure of the execution,
other than going into the libtds layer. Is that what you mean, or did
you mean that I could assemble the statement from the parameters and
then feed it to db-lib as a regular sql statement? My concern with the
latter is that, when I have used prepared statements on other platforms,
one reason has been the ability to feed an entire TEXT field into a
parameter and not have to worry about escaping any quote marks inside
the string.

Andy Wakefield
a_wake at earthlink.net 

On Sun, 2010-02-21 at 14:57 Paul Thurston wrote:
> Andy:
> 
>  
> 
> If you are programming in, say C++, it is fairly straightforward to
> write a function with this capability.
> 
> Have the function take as parameters the tablename, along with vector
> of pointers to a user-defined class Parameter.
> 
> If each Parameter contains type information, along with the value,
> formatting & executing the query string is a snap.
> 
>  
> 
>  
> 
> Best,
> 
>  
> 
> Paul
> 
>  
> 
>  
> 
> -----Original Message-----
> From: freetds-bounces at lists.ibiblio.org
> [mailto:freetds-bounces at lists.ibiblio.org] On Behalf Of Andrew H.
> Wakefield
> Sent: Sunday, February 21, 2010 2:27 PM
> To: freetds at lists.ibiblio.org
> Subject: [freetds] prepared statements in db-lib
> 
>  
> 
> I have been playing with db-lib, and find it to be a very nice
> 
> interface. But there is one thing that I seem to be missing, and can't
> 
> figure out -- does it not have any way to do a "prepared statement" --
> 
> IOW, a statement with parameters that are filled in before execution
> --
> 
> other than as an actual stored procedure?
> 
>  
> 
> Here's what I want to be able to do, in a mixture of sql and
> 
> pseudo-code:
> 
>  
> 
> sql_statement: INSERT INTO test_tbl VALUES ( ?, ?, ? );
> 
> set_param(1, 52)
> 
> set_param(2, 'Testing')
> 
> set_param(3, 123.456)
> 
> execute prepared statement
> 
>  
> 
> If db-lib cannot do this, can ct-lib? Or do I have to go down to the
> 
> libtds layer?
> 
>  
> 
> Many thanks ...
> 
>  
> 
>  
> 
> Andy Wakefield
> 
> a_wake at earthlink.net 
> 
>  
> 
> On Mon, 2010-01-11 at 21:55 -0500, James K. Lowden wrote:
> 
>  
> 
> > Andrew H. Wakefield wrote:
> 
> > > I
> 
> > > downloaded the "nightly snapshot" yesterday and tried to
> cross-compile
> 
> > > for Windows. It failed during the make, using the settings that
> worked
> 
> > > successfully for freetds-0.82. IIRC, the error had something to do
> with
> 
> > > types.h inclusion.
> 
> > 
> 
> > Tonight's version should be better.  Let us know.  
> 
> > 
> 
> > --jkl
> 
> _______________________________________________
> 
> FreeTDS mailing list
> 
> FreeTDS at lists.ibiblio.org
> 
> http://lists.ibiblio.org/mailman/listinfo/freetds
> 
> 



More information about the FreeTDS mailing list