0
這是我的DataAccessLayer索引超出範圍例外的在c#
public string GetMinISecPer(ISecuritySummmary iSecObj)
{
try
{
string miniSecPer = null;
SelectCommand cmd = new SelectCommand(SPConst.GetMinIsecPer);
cmd["@SubISUName"] = iSecObj.SubISUName;
using (DBDataReaderWrapper reader = cmd.Execute())
{
while (reader.Read())
{
double miniSecPercent = Convert.ToDouble(reader.String["testValue"]);
miniSecPer = Convert.ToString(miniSecPercent);
}
}
return miniSecPer;
}
catch (Exception e)
{
return "";
}
}
這是我的存儲過程
ALTER PROCEDURE [dbo].[GetMinIsecPer]
@SubISUName varchar(max)
AS
BEGIN
DECLARE @MinIsecPer float;
DECLARE @testValue varchar(20);
set @testValue='value';
set @MinIsecPer=(select MIN(iSecComplPer) from ISecurityStatistics IST
left outer join Relationship R on R.Id=IST.RelationshipId
left outer join SubISU SI on SI.Id=R.SubISUId
where [email protected] and UploadedDate=(SELECT MAX(UploadedDate) FROM ISecurityStatistics))
set @testValue=(select cast(@MinIsecPer as varchar(20)))
select cast(@testValue as varchar(20))
SELECT
SQL_VARIANT_PROPERTY(@testValue, 'BaseType'),
SQL_VARIANT_PROPERTY(@testValue, 'Precision'),
SQL_VARIANT_PROPERTY(@testValue, 'Scale'),
SQL_VARIANT_PROPERTY(@testValue, 'MaxLength')
END
和我的SP的輸出
(No column name)
72
(No column name) (No column name) (No column name) (No column name)
varchar 0 0 20
在該SP iam從表中獲取最小百分比ISecurityStatistics,subISU和Relationship是主表獲得subisuname我i passi ng作爲參數。
但DataAccessLayer IAM得到錯誤的「索引超出範圍異常」
請幫我解決這個問題。在此先感謝..
非常感謝你..我明白了...... – Mythily
如果有幫助,請將它標記爲答案:) –