SqlHelper.ExecuteScalar

  • Thread starter Thread starter Neven Klofutar
  • Start date Start date
N

Neven Klofutar

Hi,

I have a problem with SqlHelper.ExecuteScalar ...

When I try to execute SqlHelper.ExecuteScalar I get this message:
"System.InvalidCastException: Object must implement IConvertible.".

Help ...

Thanx, Neven

----------------------
SqlParameter[] arrSqlParam = null;
arrSqlParam =
SqlHelperParameterCache.GetSpParameterSet(DB.getConnectiongString(),
"GetFullUserName");
arrSqlParam[0].Value = strUserName;

strFullUserName = Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
"GetFullUserName", arrSqlParam);

------------------------
CREATE PROCEDURE GetFullUserName
@strUserName nvarchar(50),
@strUserNameFull nvarchar(100) OUT
AS

SET @strUserNameFull = (SELECT ime + ' ' + prezime FROM tblUsers WHERE
[tblUsers].[user_name] = @strUserName)
GO
 
ExecuteScalar returns a Object type..you should cast this object to a string
like so:

strFullUserName = (string)
Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
"GetFullUserName", arrSqlParam);
 
It's not that, I still get an error, I also tried this:

strFullUserName =
Convert.ToString(Utility.SqlHelper.ExecuteScalar(Utility.DB.getConnectiongSt
ring(), "GetFullUserName", arrSqlParam));


Tampa .NET Koder said:
ExecuteScalar returns a Object type..you should cast this object to a string
like so:

strFullUserName = (string)
Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
"GetFullUserName", arrSqlParam);

Neven Klofutar said:
Hi,

I have a problem with SqlHelper.ExecuteScalar ...

When I try to execute SqlHelper.ExecuteScalar I get this message:
"System.InvalidCastException: Object must implement IConvertible.".

Help ...

Thanx, Neven

----------------------
SqlParameter[] arrSqlParam = null;
arrSqlParam =
SqlHelperParameterCache.GetSpParameterSet(DB.getConnectiongString(),
"GetFullUserName");
arrSqlParam[0].Value = strUserName;

strFullUserName = Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
"GetFullUserName", arrSqlParam);

------------------------
CREATE PROCEDURE GetFullUserName
@strUserName nvarchar(50),
@strUserNameFull nvarchar(100) OUT
AS

SET @strUserNameFull = (SELECT ime + ' ' + prezime FROM tblUsers WHERE
[tblUsers].[user_name] = @strUserName)
GO
 
Utility.SqlHelper ... is not an error, I put it in my library ...

Neven
strFullUserName =
Convert.ToString(Utility.SqlHelper.ExecuteScalar(Utility.DB.getConnectiongSt
ring(), "GetFullUserName", arrSqlParam));


Tampa .NET Koder said:
ExecuteScalar returns a Object type..you should cast this object to a string
like so:

strFullUserName = (string)
Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
"GetFullUserName", arrSqlParam);

Neven Klofutar said:
Hi,

I have a problem with SqlHelper.ExecuteScalar ...

When I try to execute SqlHelper.ExecuteScalar I get this message:
"System.InvalidCastException: Object must implement IConvertible.".

Help ...

Thanx, Neven

----------------------
SqlParameter[] arrSqlParam = null;
arrSqlParam =
SqlHelperParameterCache.GetSpParameterSet(DB.getConnectiongString(),
"GetFullUserName");
arrSqlParam[0].Value = strUserName;

strFullUserName = Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
"GetFullUserName", arrSqlParam);

------------------------
CREATE PROCEDURE GetFullUserName
@strUserName nvarchar(50),
@strUserNameFull nvarchar(100) OUT
AS

SET @strUserNameFull = (SELECT ime + ' ' + prezime FROM tblUsers WHERE
[tblUsers].[user_name] = @strUserName)
GO
 
Neven Klofutar said:
Hi,

I have a problem with SqlHelper.ExecuteScalar ...

Confusingly, ExecuteScalar is for commands which return result sets.
You want ExecuteNonQuery, and then examine the parameter.


David
 
you sp has no result set, so execute scaler is returning an error. execute
scalre returns the first column of the first result set. if there is no
result set, then its stuck.

change you proc to return the name in a result set, or use ExecuteNoQuery,
and get the value from the sp parameter (which must be declared an out in
your code to work).

-- bruce (sqlwork.com)


| Hi,
|
| I have a problem with SqlHelper.ExecuteScalar ...
|
| When I try to execute SqlHelper.ExecuteScalar I get this message:
| "System.InvalidCastException: Object must implement IConvertible.".
|
| Help ...
|
| Thanx, Neven
|
| ----------------------
| SqlParameter[] arrSqlParam = null;
| arrSqlParam =
| SqlHelperParameterCache.GetSpParameterSet(DB.getConnectiongString(),
| "GetFullUserName");
| arrSqlParam[0].Value = strUserName;
|
| strFullUserName =
Utility.SqlHelper.ExecuteScalar(DB.getConnectiongString(),
| "GetFullUserName", arrSqlParam);
|
| ------------------------
| CREATE PROCEDURE GetFullUserName
| @strUserName nvarchar(50),
| @strUserNameFull nvarchar(100) OUT
| AS
|
| SET @strUserNameFull = (SELECT ime + ' ' + prezime FROM tblUsers WHERE
| [tblUsers].[user_name] = @strUserName)
| GO
|
|
|
 
Uf ... Thanx I'll try this, I thought that Execute.Scalar returns a single
value, and that Execute.NoQuery is used when executing INSERT, DELETE or
UPDATE.

Neven
 
I just remembered and checked ... ExecuteNonQuery returns int ?

Neven
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top