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
 
Back
Top