Home » Community » Newbie corner » SqlVal to int (Typecast) (Typecasting from sqlval type to other types)
SqlVal to int (Typecast) [message #45174] |
Wed, 23 September 2015 06:25 |
ayana
Messages: 16 Registered: November 2011
|
Promising Member |
|
|
Hey All,
SqlVal ro;
Sql UserQuerySql;
UserQuerySql.Clear();
UserQuerySql * Select (Count(MBVARINDEX)).From ( PARAMETER );
while ( UserQuerySql.Fetch() )
{
ro=Count(MBVARINDEX);
}
In the above query whatever the count value I am getting is of type 'SqlVal',I want that to typecast into 'Int', Let me know how to do typecasting for it.
Thanks & Regards,
[Updated on: Wed, 23 September 2015 06:30] Report message to a moderator
|
|
|
Re: SqlVal to int (Typecast) [message #45175 is a reply to message #45174] |
Wed, 23 September 2015 06:58 |
|
Hi ayana,
ayana wrote on Wed, 23 September 2015 06:25SqlVal ro;
Sql UserQuerySql;
UserQuerySql.Clear();
UserQuerySql * Select (Count(MBVARINDEX)).From ( PARAMETER );
while ( UserQuerySql.Fetch() )
{
ro=Count(MBVARINDEX);
}
In the above query whatever the count value I am getting is of type 'SqlVal',I want that to typecast into 'Int', Let me know how to do typecasting for it.
This SqlVal is actually only representation of sql column used when constructing the query. What you need is the result, which is accesible via the Sql object after calling Fetch:
int ro;
Sql UserQuerySql;
UserQuerySql.Clear();
UserQuerySql * Select (Count(MBVARINDEX)).From ( PARAMETER );
while ( UserQuerySql.Fetch() )
{
ro=sql[0];
}
See the Sql tutorial, it demonstrates this and many other useful and important thing about sql in U++.
Best regards,
Honza
|
|
|
|
Re: SqlVal to int (Typecast) [message #45224 is a reply to message #45176] |
Sat, 10 October 2015 01:01 |
|
Alboni
Messages: 214 Registered: January 2012 Location: Deventer, Netherlands
|
Experienced Member |
|
|
Hi, I'm using the same code for MySql and SqLite versions of my program and I'd like to point out that using
can behave rather quirky.. in combination with functions like Sum() or Count()
Depending of which db you use, Count, Sum etc. could be presented as int or a String type. Confusing.
A better way (especially if you would select more than one column) is to use the As function:
UserQuerySql * SqlSelect (SqlCount(MBVARINDEX).As(MBVARINDEX)).From ( PARAMETER );
while ( UserQuerySql.Fetch() )
{
ro=sql[MBVARINDEX];
}
I also like to use SqlSelect, SqlSum, SqlCount etc. because the other terms are so generic there are often clashes.
[Updated on: Sat, 10 October 2015 01:04] Report message to a moderator
|
|
|
|
|
Goto Forum:
Current Time: Sat Apr 20 11:51:48 CEST 2024
Total time taken to generate the page: 0.02957 seconds
|