读书人

错误详细信息: System.InvalidOperati

发布时间: 2012-01-21 21:31:43 作者: rapoo

异常详细信息: System.InvalidOperationException: 数据源的类型无效。它必须是 IListSource、IEnumerable 或 IDataSource。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 数据源的类型无效。它必须是 IListSource、IEnumerable 或 IDataSource。

源错误:


行 459: string Name = Request.Params[ "Name "];
行 460: //添加商品类别
行 461: ddlCate.DataSource = adminPub.spBindDdlCate(Id,Name);
行 462:
行 463: ddlCate.DataValueField = "Name ";


源文件: c:\Inetpub\wwwroot\Web\WebShop\Adminkkk\AdminShoppingAdd.aspx.cs 行: 461

源码:
public void BindDdlCate()
{
int Id = Convert.ToInt32(Request.Params[ "Id "]);
string Name = Request.Params[ "Name "];
//添加商品类别
ddlCate.DataSource = adminPub.spBindDdlCate(Id,Name);

ddlCate.DataValueField = "Name ";
ddlCate.DataTextField = "Name ";
ddlCate.DataBind();
//选择商品类别
ddlShopCate.DataSource = adminPub.spBindDdlCate(Id,Name);
ddlShopCate.DataTextField = "Name ";
ddlShopCate.DataValueField = "Name ";
ddlShopCate.DataBind();
//商品类别的数据来源
dgCate.DataSource = adminPub.spBindDdlCate(Id,Name);
dgCate.DataBind();


}


逻辑层的代码为:
public SqlDataAdapter spBindDdlCate(int id ,string Name)
{

id = 1;


Name = " ";
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter( "spBindDdlCate ", SqlConnection1);
SqlDataAdapter1.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parm1 = SqlDataAdapter1.SelectCommand.Parameters.Add( "@Id ",SqlDbType.Int);
parm1.Value = id;
SqlParameter parm2 = SqlDataAdapter1.SelectCommand.Parameters.Add( "@Name ",SqlDbType.NVarChar,50);
parm2.Value = Name;
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
return SqlDataAdapter1;







}

数据库为:
ALTER Procedure spBindDdlCate
(
@Id int,
@Name nvarchar(50)
)
as
Select ID ,Name from Categories where Name =@Name and Id =@Id


[解决办法]
SqlDataAdapter1.Fill(DataSet1);
return SqlDataAdapter1;
你怎么能绑定数据适配器呢
要绑—ataSet
[解决办法]
//逻辑层
public DataSet spBindDdlCate(int id ,string Name)
{
id = 1;
Name = " ";
ConnOpen();
SqlDataAdapter1 = new SqlDataAdapter( "spBindDdlCate ", SqlConnection1);
SqlDataAdapter1.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parm1 = SqlDataAdapter1.SelectCommand.Parameters.Add( "@Id ",SqlDbType.Int);
parm1.Value = id;
SqlParameter parm2 = SqlDataAdapter1.SelectCommand.Parameters.Add( "@Name ",SqlDbType.NVarChar,50);
parm2.Value = Name;
DataSet1 = new DataSet();
SqlDataAdapter1.Fill(DataSet1);
return DataSet1;


}

public void BindDdlCate()
{
int Id = Convert.ToInt32(Request.Params[ "Id "]);
string Name = Request.Params[ "Name "];

DataSet ds = adminPub.spBindDdlCate(Id,Name);
//添加商品类别
ddlCate.DataSource = ds.Tables[0];
ddlCate.DataValueField = "Name ";
ddlCate.DataTextField = "Name ";
ddlCate.DataBind();
//选择商品类别
ddlShopCate.DataSource = ds.Tables[0];
ddlShopCate.DataTextField = "Name ";
ddlShopCate.DataValueField = "Name ";
ddlShopCate.DataBind();
//商品类别的数据来源
dgCate.DataSource = ds.Tables[0];
dgCate.DataBind();
}

读书人网 >C#

热点推荐