Categories: MSDN / DotNet / Java / Scripts / Linux / PHP Ask - La ask - La Answer

Specified Cast is not valid error

Hello Everyone,

I am having difficulties trying to figure out this error.

System.InvalidCastException: Specified cast is not valid.
CaseStudyData[] dataArray1 = new CaseStudyDB().CaseStudy_GetAllInPage(base.PageGUID);



My code is:

protected void Page_Load(object sender, EventArgs e)
{
CaseStudyData[] dataArray1 = new CaseStudyDB().CaseStudy_GetAllInPage(base.PageGUID);
if (dataArray1.Length > 0)
{
this.Visible = true;
this.Repeater1.DataSource = dataArray1;
this.Repeater1.DataBind();
}
else
{
this.Visible = false;
}
}



Stack Trace

[InvalidCastException: Specified cast is not valid.]
System.Data.SqlClient.SqlBuffer.get_Int32() +106
System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i) +36
CMSDataLayer.DataAccessor.GetInt32(SqlDataReader myReader, Int32 i) in C:\dev\TMC\code\TRC\CMSDataLayer\DataAccessor.cs:92
CMSDataLayer.BaseAccessor.GetCaseStudyDataFromReader(DataAccessor dAccess, SqlDataReader myReader, Int32 iStartIndex) in C:\dev\TMC\code\TRC\CMSDataLayer\BaseAccessor.cs:119
CMSDataLayer.BaseAccessor.GeCaseStudyDatasFromReader(SqlDataReader myReader) in C:\dev\TMC\code\TRC\CMSDataLayer\BaseAccessor.cs:22
CMSDataLayer.CaseStudyDB.CaseStudy_GetAllInPage(Guid l_PageGUID) in C:\dev\TMC\code\TRC\CMSDataLayer\CaseStudyDB.cs:146
Controls_LeftSidebar_RelatedCaseStudies.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\User\My Documents\Visual Studio 2005\WebSites\TRC\Controls\LeftSidebar\RelatedCaseStudies.ascx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Control.LoadRecursive() +132
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745


Thanks for your help!
[2465 byte] By [goodfella] at [2007-11-11 10:28:25]
# 1 Re: Specified Cast is not valid error
What data type does CaseStudy_GetAllInPage return? What is the function declaration?
Phil Weber at 2007-11-11 23:11:49 >
# 2 Re: Specified Cast is not valid error
Thanks for your reply!

Hopefully this information will help. This is the SQL stored proecedure that I am using

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER Procedure [dbo].[CaseStudy_GetAllInPage]
(
@PageGUID uniqueidentifier
)
AS
SELECT
tbl_CaseStudies.ID,
tbl_CaseStudies.GUID,
tbl_CaseStudies.Title,
tbl_CaseStudies.LinkURL,
tbl_CaseStudies.BodyText,
tbl_CaseStudies.Description,
tbl_CaseStudies.ProjectManager,
tbl_CaseStudies.RegionID,
tbl_CaseStudies.RegionID,
tbl_CaseStudies.Status
FROM
tbl_CaseStudies
INNER JOIN tbl_CaseStudyInPage ON tbl_CaseStudyInPage.StudyGUID = tbl_CaseStudies.GUID
WHERE
tbl_CaseStudyInPage.PageGUID = @PageGUID

Function?
public partial class Controls_LeftSidebar_RelatedCaseStudies : BaseControl

Sorry, but this is still all fairly new to me.
goodfella at 2007-11-11 23:12:49 >
# 3 Re: Specified Cast is not valid error
Look at your TMC\code\TRC\CMSDataLayer\CaseStudyDB.cs file and in that function, look at the data type it is returning (public *DATATYPE* and so on)
kashif_82 at 2007-11-11 23:13:54 >