Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

RE: Problem with data type conversions and FreeTDS: msg#00047

db.tds.freetds

Subject: RE: Problem with data type conversions and FreeTDS

>
> Hi all,
>

Hi!

> I had a friend create a table on his M$ SQL server 2000 with
> just one row and as many columns as data types. He filled
> each field with a different value corresponding to data type. E.g.
>
> bigint, bit, char, datetime, float, money, nvarchar, unique
> 1111119,1,c,30/04/2003 13:00:19,23.45, 123.45, hello,
> {F44A-etc-...blah}
>
> Note the Unique identifier in the above example is not the
> real value I just couldn't be bothered to write it out in full!
>
> Anyway using the code snippet below works great except when
> trying to convert and print the unique ID. What should I be
> doing to allow all data types to be printed successfully as
> with tsql and sqsh?
>
> <snip>
>

Wow... C++ !!!

> const string& tds::connection::print_field (const int &column) {

string tds::connection::print_field (const int column) {
(return value, not input reference)

> static string str;

string str;
??? why static ???

> unsigned char *row = results->current_row;
> const int type = results->columns[column]->column_type;
> const int offset = results->columns[column]->column_offset;
> const int size = results->columns[column]->column_cur_size;
> const int conversion_type = tds_get_conversion_type (type, size);
>
> str.clear ();
>

remove str.clear(); line

> if (tds_get_null (const_cast <unsigned char *> (row), column))

row is already unsigned char *, cast unneeded

> str = "NULL";
> else {
> CONV_RESULT convert;
> unsigned char *value = &(row[offset]);
>
> if (is_blob_type (type))
> value = (unsigned char*) ((TDSBLOBINFO *) value)->textvalue;
>
> if (tds_convert (context, conversion_type, (TDS_CHAR
> *) value,
> size, SYBVARCHAR, &convert) < 0)
> throw tds::error ("Failed to convert row type at
> column.");
>

Seem correct...

> str = convert.c;
> free (convert.c);
> }
>
> return str;
> }
>
> </snip>
>
> I have tried printing both the C++ tds::string and the
> converted value* both fail.
>
> Can anyone help! Plleasse!!
>

What version of FreeTDS are you using ??

> Many thanks
>
> James Vanns
>

freddy77


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
hardware.arm.at...    cms.citadel.dev...    video.gstreamer...    java.facelets.u...    misc.basics.qna...    web.wiki.instik...    network.uip.use...    xdg.devel/2003-...    tex.bibtex.bibd...    finance.quotesp...    ietf.zeroconf/2...    redhat.blinux.g...    suse.db2/2003-0...    php.phpesp/2004...    uml.devel/2003-...    gnome.labyrinth...    qnx.openqnx.dev...    boot-loaders.gr...    db.dataperfect....    audio.audacity....    linux.uclinux.m...    editors.j.devel...    os.openbsd.tech...    kde.users.multi...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation