freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
[freetds] Problem with data type conversions and FreeTDS
- From: James Vanns <jimv AT canterbury.ac.uk>
- To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Subject: [freetds] Problem with data type conversions and FreeTDS
- Date: Wed, 30 Jul 2003 13:13:19 -0000
Hi all,
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>
const string& tds::connection::print_field (const int &column) {
static string str;
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 ();
if (tds_get_null (const_cast <unsigned char *> (row), column))
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.");
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!!
Many thanks
James Vanns
--
James Vanns BSc (Hons) MCP
Linux Systems Administrator
Software Engineer (Linux / C & C++)
Canterbury Christ Church University College
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x24045370
-
[freetds] Problem with data type conversions and FreeTDS,
James Vanns, 07/30/2003
- <Possible follow-up(s)>
-
RE: [freetds] Problem with data type conversions and FreeTDS,
ZIGLIO Frediano, 07/30/2003
- RE: [freetds] Problem with data type conversions and FreeTDS, James Vanns, 07/30/2003
-
RE: [freetds] Problem with data type conversions and FreeTDS,
ZIGLIO Frediano, 07/30/2003
- RE: [freetds] Problem with data type conversions and FreeTDS, James Vanns, 07/30/2003
-
RE: [freetds] Problem with data type conversions and FreeTDS,
ZIGLIO Frediano, 07/30/2003
- RE: [freetds] Problem with data type conversions and FreeTDS, James Vanns, 07/30/2003
-
RE: [freetds] Problem with data type conversions and FreeTDS,
ZIGLIO Frediano, 07/30/2003
- RE: [freetds] Problem with data type conversions and FreeTDS, James Vanns, 07/30/2003
-
RE: [freetds] Problem with data type conversions and FreeTDS,
Lowden, James K, 07/30/2003
- RE: [freetds] Problem with data type conversions and FreeTDS, James Vanns, 07/30/2003
Archive powered by MHonArc 2.6.24.