Welcome to dbFreaks.com!
FAQFAQ    SearchSearch      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Problems with scalar function, and dynamic SQL

 
   Database Help (Home) -> Programming RSS
Next:  Friday prior  
Author Message
Gaz

External


Since: Jan 30, 2008
Posts: 6



(Msg. 1) Posted: Tue Feb 05, 2008 7:34 am
Post subject: Problems with scalar function, and dynamic SQL
Archived from groups: microsoft>public>sqlserver>programming (more info?)

Hi,

Im trying to write a scalar function that basically does a count based
a set of criteria. What i first tried to do was a case statement
within the where clause which looked like this...

select @ReturnMe=count(column)
from table
where

t1.column in (
case when Upper(@value) = 'ME' then
1,9
case when Upper(@Value) = 'YOU' then
8
)


if i use single values then it works and my function returned a value
of the count. So i thought i would try and dynamically create the SQL
statement and then exec it but SQL Server gets upset and throws up an
error message.

This is my code...
-------------------------------------------------------------------------------------------------------------------------------
DECLARE @ReturnMe int,
@SQL nvarchar(max)

set @ReturnMe = 0

set @SQL = 'SELECT @ReturnMe = Count(t1.column) '+
'FROM table.column t1 ' +
'WHERE t1.column in('+ dbo.CustomFunction(@Type)+')'


exec sp_executesql @SQL

RETURN @ReturnMe
----------------------------------------------------------------------------------------------------------------------------

The CustomFunction function is returning a string like 1,9 or 8 for
example. But when i execute this i get this message

Only functions and extended stored procedures can be executed from
within a function.
Invalid attempt to read when no data is present.

Can anyone offer any advice? All i want to do is return the value of
the count column to the calling store procedure

 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Gaz

External


Since: Jan 30, 2008
Posts: 6



(Msg. 2) Posted: Tue Feb 05, 2008 8:11 am
Post subject: Re: Problems with scalar function, and dynamic SQL [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

I can get it to work dynamically i suppose its more of a case how do i
get exec to return me a value for my scalar function?

 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
--CELKO--

External


Since: Jan 11, 2008
Posts: 1089



(Msg. 3) Posted: Tue Feb 05, 2008 8:14 am
Post subject: Re: Problems with scalar function, and dynamic SQL [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

SELECT UPPER(@parm),
SUM(CASE WHEN UPPER(@parm) = 'ME'
AND col_x IN (1, 9)
THEN 1
WHEN UPPER(@parm) = 'YOU'
AND col_x = 8
THEN 1 ELSE 0 END) AS parm_cnt
FROM Foobar;

Watch out for a NULL in the ELSE clause. Display your parameter so
you know what count you are actually getting back from the query. Do
not think in terms of functions and dynamic SQL; use queries and not
procedural code.
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Santhosh

External


Since: Jan 22, 2008
Posts: 6



(Msg. 4) Posted: Tue Feb 05, 2008 8:59 am
Post subject: Re: Problems with scalar function, and dynamic SQL [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Please try a solution like this

Declare @Type varchar(10)
Create Table #temp(ReturnMe int)
Declare @SQL nvarchar(max)
Set @Type = 'Me'
set @SQL = 'Insert into #temp SELECT Count(t1.column) '+
'FROM table t1 ' +
'WHERE t1.column in(Select * from dbo.CustomFunction(''' + @Type + '''))'
exec sp_executesql @SQL
Select ReturnMe from #temp

"Gaz" wrote:

> I can get it to work dynamically i suppose its more of a case how do i
> get exec to return me a value for my scalar function?
>
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Erland Sommarskog2

External


Since: May 30, 2004
Posts: 2061



(Msg. 5) Posted: Tue Feb 05, 2008 2:51 pm
Post subject: Re: Problems with scalar function, and dynamic SQL [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Gaz ( ) writes:
> Im trying to write a scalar function that basically does a count based
> a set of criteria. What i first tried to do was a case statement
> within the where clause which looked like this...
>
> select @ReturnMe=count(column)
> from table
> where
>
> t1.column in (
> case when Upper(@value) = 'ME' then
> 1,9
> case when Upper(@Value) = 'YOU' then
> 8
> )

Keep in mind that "col IN (@val1, @val2, @val3)" is just short for

col = @val1 OR col = @val2 OR col = @val3

Seen in that the perspective, the above makes little sense.

> if i use single values then it works and my function returned a value
> of the count. So i thought i would try and dynamically create the SQL
> statement

You cannot use dynamic SQL in functions.

For once the prize for having posted the correct solution goes to
Joe Celko.


--
Erland Sommarskog, SQL Server MVP, esquel DeleteThis @sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Uri Dimant

External


Since: Aug 24, 2003
Posts: 1744



(Msg. 6) Posted: Tue Feb 05, 2008 5:43 pm
Post subject: Re: Problems with scalar function, and dynamic SQL [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Gaz
Read this stuff
http://www.sommarskog.se/arrays-in-sql.html




"Gaz" wrote in message

> Hi,
>
> Im trying to write a scalar function that basically does a count based
> a set of criteria. What i first tried to do was a case statement
> within the where clause which looked like this...
>
> select @ReturnMe=count(column)
> from table
> where
>
> t1.column in (
> case when Upper(@value) = 'ME' then
> 1,9
> case when Upper(@Value) = 'YOU' then
> 8
> )
>
>
> if i use single values then it works and my function returned a value
> of the count. So i thought i would try and dynamically create the SQL
> statement and then exec it but SQL Server gets upset and throws up an
> error message.
>
> This is my code...
> -------------------------------------------------------------------------------------------------------------------------------
> DECLARE @ReturnMe int,
> @SQL nvarchar(max)
>
> set @ReturnMe = 0
>
> set @SQL = 'SELECT @ReturnMe = Count(t1.column) '+
> 'FROM table.column t1 ' +
> 'WHERE t1.column in('+ dbo.CustomFunction(@Type)+')'
>
>
> exec sp_executesql @SQL
>
> RETURN @ReturnMe
> ----------------------------------------------------------------------------------------------------------------------------
>
> The CustomFunction function is returning a string like 1,9 or 8 for
> example. But when i execute this i get this message
>
> Only functions and extended stored procedures can be executed from
> within a function.
> Invalid attempt to read when no data is present.
>
> Can anyone offer any advice? All i want to do is return the value of
> the count column to the calling store procedure
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
maxx lopes

External


Since: May 12, 2010
Posts: 1



(Msg. 7) Posted: Wed May 12, 2010 11:28 am
Post subject: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

It would help the community quite a bit if people would stop preaching about how things are supposed to be in a perfect world, and just answered the question directly.

I'm really tired of reading the same opinionated babble from engineers who clearly lack the experience to address real-world issues.

ALL code is procedural, including SQL. Hence the term: Stored Procedure. Don't be blinded by your textbooks, they don't know everything.



--CELKO-- wrote:

Re: Problems with scalar function, and dynamic SQL
07-Feb-08

SELECT UPPER(@parm),
SUM(CASE WHEN UPPER(@parm) = 'ME'
AND col_x IN (1, 9)
THEN 1
WHEN UPPER(@parm) = 'YOU'
AND col_x = 8
THEN 1 ELSE 0 END) AS parm_cnt
FROM Foobar;

Watch out for a NULL in the ELSE clause. Display your parameter so
you know what count you are actually getting back from the query. Do
not think in terms of functions and dynamic SQL; use queries and not
procedural code.

Previous Posts In This Thread:

On Tuesday, February 05, 2008 10:43 AM
Uri Dimant wrote:

Re: Problems with scalar function, and dynamic SQL
Gaz
Read this stuff
http://www.sommarskog.se/arrays-in-sql.html

On Tuesday, February 05, 2008 11:59 AM
Santhos wrote:

Re: Problems with scalar function, and dynamic SQL
Please try a solution like this

Declare @Type varchar(10)
Create Table #temp(ReturnMe int)
Declare @SQL nvarchar(max)
Set @Type = 'Me'
set @SQL = 'Insert into #temp SELECT Count(t1.column) '+
'FROM table t1 ' +
'WHERE t1.column in(Select * from dbo.CustomFunction(''' + @Type + '''))'
exec sp_executesql @SQL
Select ReturnMe from #temp

"Gaz" wrote:

On Tuesday, February 05, 2008 5:51 PM
Erland Sommarskog wrote:

Re: Problems with scalar function, and dynamic SQL
Gaz ( ) writes:

Keep in mind that "col IN (@val1, @val2, @val3)" is just short for

col = @val1 OR col = @val2 OR col = @val3

Seen in that the perspective, the above makes little sense.


You cannot use dynamic SQL in functions.

For once the prize for having posted the correct solution goes to
Joe Celko.


--
Erland Sommarskog, SQL Server MVP, esquel DeleteThis @sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx

On Thursday, February 07, 2008 9:32 PM
Gaz wrote:

Problems with scalar function, and dynamic SQL
Hi,

Im trying to write a scalar function that basically does a count based
a set of criteria. What i first tried to do was a case statement
within the where clause which looked like this...

select @ReturnMe=count(column)
from table
where

t1.column in (
case when Upper(@value) = 'ME' then
1,9
case when Upper(@Value) = 'YOU' then
8
)


if i use single values then it works and my function returned a value
of the count. So i thought i would try and dynamically create the SQL
statement and then exec it but SQL Server gets upset and throws up an
error message.

This is my code...
-------------------------------------------------------------------------------------------------------------------------------
DECLARE @ReturnMe int,
@SQL nvarchar(max)

set @ReturnMe = 0

set @SQL = 'SELECT @ReturnMe = Count(t1.column) '+
'FROM table.column t1 ' +
'WHERE t1.column in('+ dbo.CustomFunction(@Type)+')'


exec sp_executesql @SQL

RETURN @ReturnMe
----------------------------------------------------------------------------------------------------------------------------

The CustomFunction function is returning a string like 1,9 or 8 for
example. But when i execute this i get this message

Only functions and extended stored procedures can be executed from
within a function.
Invalid attempt to read when no data is present.

Can anyone offer any advice? All i want to do is return the value of
the count column to the calling store procedure

On Thursday, February 07, 2008 9:32 PM
Gaz wrote:

I can get it to work dynamically i suppose its more of a case how do iget exec
I can get it to work dynamically i suppose its more of a case how do i
get exec to return me a value for my scalar function?

On Thursday, February 07, 2008 9:32 PM
--CELKO-- wrote:

Re: Problems with scalar function, and dynamic SQL
SELECT UPPER(@parm),
SUM(CASE WHEN UPPER(@parm) = 'ME'
AND col_x IN (1, 9)
THEN 1
WHEN UPPER(@parm) = 'YOU'
AND col_x = 8
THEN 1 ELSE 0 END) AS parm_cnt
FROM Foobar;

Watch out for a NULL in the ELSE clause. Display your parameter so
you know what count you are actually getting back from the query. Do
not think in terms of functions and dynamic SQL; use queries and not
procedural code.


Submitted via EggHeadCafe - Software Developer Portal of Choice
Free Online Courses Available for Eggheadcafe.com Users
http://www.eggheadcafe.com/tutorials/aspnet/5261083e-6e03-4b25-8728-fc...6855293
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Dan

External


Since: May 14, 2010
Posts: 5



(Msg. 8) Posted: Fri May 14, 2010 7:25 am
Post subject: Re: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"maxx lopes" wrote in message ...
> It would help the community quite a bit if people would stop preaching
> about how things are supposed to be in a perfect world, and just answered
> the question directly.

Wouldn't it also help if people didn't use EggHeadCafe to post replies to
threads that more than 2 years old?!?!

The newsgroups here are going to disappear soon, which will leave
EggHeadCafe with a big hole to fill in their content thieving, which is the
one thing the newsgroups closure has going for it.

--
Dan
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Gert-Jan Strik

External


Since: Feb 19, 2010
Posts: 6



(Msg. 9) Posted: Fri May 14, 2010 9:25 am
Post subject: Re: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Dan wrote:
>
> "maxx lopes" wrote in message ...
> > It would help the community quite a bit if people would stop preaching
> > about how things are supposed to be in a perfect world, and just answered
> > the question directly.
>
> Wouldn't it also help if people didn't use EggHeadCafe to post replies to
> threads that more than 2 years old?!?!
>
> The newsgroups here are going to disappear soon, which will leave
> EggHeadCafe with a big hole to fill in their content thieving, which is the
> one thing the newsgroups closure has going for it.
>
> --
> Dan

I have seen that post about the closing. I hope it doesn't happen.

I know my news reader is arcane (Netscape Navigator 4.79), but it
doesn't work on Microsoft's Forums NNTP Bridge. And working with the GUI
is quite horrible.

Now I have all my contributions in one place. Also, my newsreader only
shows unread posts, and it is EASY to mark a post as unread again.

I only see Microsoft's self interest as the reason for moving away from
newsgroups.

--
Gert-Jan
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Dan

External


Since: May 14, 2010
Posts: 5



(Msg. 10) Posted: Fri May 14, 2010 10:25 am
Post subject: Re: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"Gert-Jan Strik" wrote in message

> Dan wrote:
>>
>> "maxx lopes" wrote in message ...
>> > It would help the community quite a bit if people would stop preaching
>> > about how things are supposed to be in a perfect world, and just
>> > answered
>> > the question directly.
>>
>> Wouldn't it also help if people didn't use EggHeadCafe to post replies to
>> threads that more than 2 years old?!?!
>>
>> The newsgroups here are going to disappear soon, which will leave
>> EggHeadCafe with a big hole to fill in their content thieving, which is
>> the
>> one thing the newsgroups closure has going for it.
>>
>> --
>> Dan
>
> I have seen that post about the closing. I hope it doesn't happen.

I doubt there's anything anyone can do stop it. While the groups might
survive on NNTP servers that ignore the MS group removal message, the
shutting down of msnews.microsoft.com will effectively take out the majority
of the posters. It's not a case of MS asking if the newsgroups are being
used - they have announced that they will be shut down

> I know my news reader is arcane (Netscape Navigator 4.79), but it
> doesn't work on Microsoft's Forums NNTP Bridge. And working with the GUI
> is quite horrible.

I for one won't be moving to the new web based forums. It doesn't even work
with IE8 properly most of the time Razz

However, the NNTP bridge looks interesting, I'll admit I'd missed that. It
provides a way for an NNTP newsreader to use the new system just as
msnews.microsoft.com is used now. It's basically a local HTTP to NNTP proxy
server that interacts directly with the new MS forums.

> Now I have all my contributions in one place. Also, my newsreader only
> shows unread posts, and it is EASY to mark a post as unread again.

Indeed, that's partly why I prefer NNTP over web based forums for this sort
of thing. I'm not sure how much functionality the bridge has, but I might
give it a go.

> I only see Microsoft's self interest as the reason for moving away from
> newsgroups.

Whatever happens it'll be "self interest", otherwise there would be no
reason to do it ... Moving to a web forum does have benefits, especially
for new users who don't understand what newsgroups are. It also means that
MS no longer have to support a cluster of NNTP servers that are likely
solely used for this purpose - that hardware can now be put to use
elsewhere, or removed as a cost saving measure (running servers is never
free, after all).

If the NNTP Bridge works, then I'll move to it and will still read and post
as before, I do find these groups a lot more useful than trawling the web
for answers. I just hope that the MVPs and other helpful posters don't get
put off by the removal of the NNTP servers and decide to give up on the MS
groups, or else there will be little point in continuing to use them.

--
Dan
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Dan

External


Since: May 14, 2010
Posts: 5



(Msg. 11) Posted: Fri May 14, 2010 10:25 am
Post subject: Re: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"Dan" wrote in message
news:##bjHq28KHA.5476@TK2MSFTNGP06.phx.gbl...
> However, the NNTP bridge looks interesting, I'll admit I'd missed that. It
> provides a way for an NNTP newsreader to use the new system just as
> msnews.microsoft.com is used now. It's basically a local HTTP to NNTP
> proxy server that interacts directly with the new MS forums.

Think I'll give up on this. Most of the groups I use regularly have no
corresponding group in the new system. For instance, SQL Replication and
Fulltext. There's also no sign of any older technology groups such as ADO
and ASP, so that's anyone who hasn't been able to move to .Net yet due to
business limitations (our central system for instance is COM based and only
supports VB6 for extension programming) out in the cold. I also can't find
any IIS related groups, although I'll admit to only searching for IIS and
Internet Information Services. What a waste of time that was.

Oh, and to top it off, somehow MS have managed to attach one of my Windows
Live accounts to someone else's "Online Community" profile, so I can log in
but I'll be posting with the details of another person. Good job I have
multiple WL accounts (one for work, one personal) or else I'd have to sign
up for yet another one. Sad

--
Dan
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Erland Sommarskog2

External


Since: May 30, 2004
Posts: 2061



(Msg. 12) Posted: Fri May 14, 2010 4:25 pm
Post subject: Re: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Dan (news@worldofspack.com) writes:
> Think I'll give up on this. Most of the groups I use regularly have no
> corresponding group in the new system. For instance, SQL Replication and
> Fulltext.

There is a forum for replication:
http://social.msdn.microsoft.com/Forums/en-US/sqlreplication/threads

There is a forum for SQL Server Search, which I assume includes
fulltext:
http://social.msdn.microsoft.com/Forums/en-US/sqlsearch/threads
(The last post is from Hilary Cotter, which is a good indication
that fulltext is covered there.)

I can also see these forums in the Newsgroups list from the NNTP
bridge. (Which I don't use much, since it does not produce messages
in text/plain format.)

> There's also no sign of any older technology groups such as ADO

The forum SQL Server Data Access lists ADO as covered. As for ASP
and VB6, I don't what Microsoft has to offer.

> Oh, and to top it off, somehow MS have managed to attach one of my
> Windows Live accounts to someone else's "Online Community" profile, so I
> can log in but I'll be posting with the details of another person.

I think you can edit your profile.


--
Erland Sommarskog, SQL Server MVP, esquel RemoveThis @sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
SQL 2000: http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Dan

External


Since: May 14, 2010
Posts: 5



(Msg. 13) Posted: Mon May 17, 2010 5:25 am
Post subject: Re: Preaching does not help [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"Erland Sommarskog" wrote in message

> Dan (news@worldofspack.com) writes:
>> Think I'll give up on this. Most of the groups I use regularly have no
>> corresponding group in the new system. For instance, SQL Replication and
>> Fulltext.
>
> There is a forum for replication:
> http://social.msdn.microsoft.com/Forums/en-US/sqlreplication/threads
>
> There is a forum for SQL Server Search, which I assume includes
> fulltext:
> http://social.msdn.microsoft.com/Forums/en-US/sqlsearch/threads
> (The last post is from Hilary Cotter, which is a good indication
> that fulltext is covered there.)
>
> I can also see these forums in the Newsgroups list from the NNTP
> bridge. (Which I don't use much, since it does not produce messages
> in text/plain format.)

Odd, they didn't appear in NNTP Bridge for me on Friday. Looking at the NNTP
Bridge forum I see that it's a flakey piece of software at best.

>> There's also no sign of any older technology groups such as ADO
>
> The forum SQL Server Data Access lists ADO as covered. As for ASP
> and VB6, I don't what Microsoft has to offer.

Given that they consider the technology outdated, I'd guess at zip.
Unfortunately for me ASP and VB6 is the bulk of my ongoing application
development and support and my wage earner.

>> Oh, and to top it off, somehow MS have managed to attach one of my
>> Windows Live accounts to someone else's "Online Community" profile, so I
>> can log in but I'll be posting with the details of another person.
>
> I think you can edit your profile.

My work WL ID is really really old (from back even before they were called
..NET Passport ID) - I set it up back when MS needed it for me to get access
to the MS Press Connections site for pre-release and sales info. If I login
on the forum site I have the Create a Profile link at the upper right, but
this takes me to the profile page for DanCr (which is my MSDN profile ID)
but that's for someone else entirely on social.msdn, and the Edit My Profile
link is missing. I haven't found a way to disassociate my WL ID with the
MSDN profile DanCr, because even at the MSDN site where the Create a Profile
link is replaced with DanCr, clicking it just takes me back to the
social.msdn profile page for DanCr which is read-only as it's not my profile
....

Repeated emails to MS have resulted in nothing. As I said, at least I can
use my personal WL ID to access the forums.

--
Dan
 >> Stay informed about: Problems with scalar function, and dynamic SQL 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
dynamic stored proc: Must declare the scalar variable @Per.. - For some reason I keep getting this error in this stored procedure while some similar sp's are working without any problem... CREATE PROC [dbo].[spGetTableProjectsByOfficeFilterbyPeriod_ByColumnRange] @OfficeFilterType varchar(50), @OfficeFilterValue....

Scalar Function! - Hi all, I want to return a scalar value from a function, but am not sure of how to create such a function. My attempt so far is: CREATE FUNCTION [dbo].[GetValue] (INT @ID) RETURNS INT AS BEGIN SELECT myColValue FROM myTable WHERE myID = @ID ....

"domain error" in scalar function - How do I trap? - SET NOVICE_ALERT ON Using SQL 2005 and TRYING to use the following function: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go CREATE FUNCTION [dbo].[DistanceBetween] ( @Latitude1 decimal(14,6), @Latitude2 decimal(14,6), @Long1 decimal(14,6), ..

Table name as the parameter in scalar valued function - Hi All, I want a scalar valued function that will take table name as parameter. For example I have a table EMP_Regular that lists regular employees. I may have saveral other tables like EMP_Offshore, EMP_Contract etc. Then I wish to have a function...

scalar-valued function returns always NULL - Dear all, Why does my function always return NULL in a view ? used in a view as column = dbo.CompanySpecList(dbo.COMPANY.COM_ID) AS Specs -------------------------------------------------------------------------------------------- set ANSI_NULLS....
   Database Help (Home) -> Programming All times are: Pacific Time (US & Canada)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]