高分求救!asp.net下拉菜单绑定数据库问题.

mawish 2007-04-17 12:06:03
SubjectSQL add=new SubjectSQL();
this.t_P_type_id.DataSource=add.showSubjectSQL().Tables["SubjectSQL"];
this.t_P_type_id.DataTextField="Subject";
this.t_P_type_id.DataValueField="SubjectID";
this.DropDownList2.DataBind();
另外还有个SubjectSQL 类
里面放着
public DataSet showSubject()
{
string sql="";
DataSet dsCustomers=new DataSet();
sql="select * from Subject";
try
{
conn.Open();
SqlCommand sqlcommand=new SqlCommand(sql,conn);
SqlDataAdapter adapter=new SqlDataAdapter(sqlcommand);
adapter.Fill(dsCustomers,"device_customers");

}
catch(Exception e)
{
conn.Close();
e.ToString();

}
finally
{
conn.Close();
}
return dsCustomers;
}
...全文
471 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hy_lihuan 2007-04-17
  • 打赏
  • 举报
回复
上面都说了,不用了...
tesling 2007-04-17
  • 打赏
  • 举报
回复
catch(Exception e)
{
conn.Close(); //这句也要去掉,因为不管有否异常,finally都会执行
e.ToString();

}
finally
{
conn.Close();
}
junval 2007-04-17
  • 打赏
  • 举报
回复
SubjectSQL add=new SubjectSQL();
DataTable mydt = add.showSubjectSQL().Tables["device_customers"];
//DataTable mydt = add.showSubjectSQL().Tables[0];
if (mydt.Rows.Count != 0)
{
DropDownList2.DataSource = mydt.DefaultView;
DropDownList2.DataTextField="Subject";
DropDownList2.DataValueField="SubjectID";
DropDownList2.DataBind();
}
bluemoon0001 2007-04-17
  • 打赏
  • 举报
回复
改成:

this.t_P_type_id.DataSource=add.showSubject().Tables[0];
bluemoon0001 2007-04-17
  • 打赏
  • 举报
回复
是噢,你的表名对不对啊,要不就改成上面他们说的那样试试

this.t_P_type_id.DataSource=add.showSubjectSQL().Tables[0];
bluemoon0001 2007-04-17
  • 打赏
  • 举报
回复
晕,楼主你的啥问题?

add.showSubjectSQL() 你这里的方法与 public DataSet showSubject() 方法不一致


这里多了一个conn.Close(),因为下面的finally里已经有了。

catch(Exception e)
{
conn.Close();
e.ToString();

}
daishengs 2007-04-17
  • 打赏
  • 举报
回复
this.t_P_type_id.DataSource=add.showSubjectSQL().Tables[0];
this.t_P_type_id.DataTextField="Subject";
this.t_P_type_id.DataValueField="SubjectID";
this.t_P_type_id.DataBind();
tesling 2007-04-17
  • 打赏
  • 举报
回复
this.t_P_type_id.DataSource=add.showSubjectSQL().Tables["SubjectSQL"];
改成
this.t_P_type_id.DataSource=add.showSubjectSQL().Tables[0];
daishengs 2007-04-17
  • 打赏
  • 举报
回复
什么问题?
junval 2007-04-17
  • 打赏
  • 举报
回复
------------
我照7楼桶哥所说的。重新写了一个。.
但还是读不出。我刚刚接触ASP.NET.
有很多地方还是不了解呀。
希望各位高手指点一下。
Page_Load里的:

SubjectSQL add=new SubjectSQL();
DropDownList1.DataSource =add.showSubject().Tables["Sub"];
/*
DropDownList1.DataSource =add.showSubject().Tables["device_customers"].DefaultView;
或者
DropDownList1.DataSource =add.showSubject().Tables[0].DefaultView;
不能楼主这样 Sub
看这里是关键
adapter.Fill(dsCustomers,"device_customers");
填充DataSet的Table 叫 device_customers


*/
DropDownList1.DataTextField="Subject";
DropDownList1.DataValueField="SubjectID";
DropDownList1.DataBind();

下面是SubjectSQL类里的:
public DataSet showSubject()
{
string sql="";
DataSet dsCustomers=new DataSet();
sql="select * from Sub";
try
{
conn.Open();
SqlCommand sqlcommand=new SqlCommand(sql,conn);
SqlDataAdapter adapter=new SqlDataAdapter(sqlcommand);
adapter.Fill(dsCustomers,"device_customers");

}
catch(Exception e)
{
e.ToString();
}
finally
{
conn.Close();
}
return dsCustomers;
}

ziyouren22 2007-04-17
  • 打赏
  • 举报
回复

方法一:
SubjectSQL add=new SubjectSQL();
this.t_P_type_id.DataSource=add.showSubjectSQL().Tables[0];
this.t_P_type_id.DataTextField="Subject";
this.t_P_type_id.DataValueField="SubjectID";
this.DropDownList2.DataBind();


public DataSet showSubject()
{
string sql="";
DataSet dsCustomers=new DataSet();
sql="select * from Sub";
try
{
conn.Open();
SqlCommand sqlcommand=new SqlCommand(sql,conn);
SqlDataAdapter adapter=new SqlDataAdapter(sqlcommand);
adapter.Fill(dsCustomers,"device_customers");

}
catch(Exception e)
{
conn.Close();
e.ToString();

}
finally
{
conn.Close();
}
return dsCustomers;
}


方法二:
DataSet ds= add.showSubjectSQL()
for(int i=0;i<ds.Tables["0"].Rows.Count;i++)
{
this.t_P_type_id.Items.Add(new ListItem(ds.Tables["0"].Rows[i][1].ToString(),ds.Tables["0"].Rows[i][0].ToString()));
}
mawish 2007-04-17
  • 打赏
  • 举报
回复
我照7楼桶哥所说的。重新写了一个。.
但还是读不出。我刚刚接触ASP.NET.
有很多地方还是不了解呀。
希望各位高手指点一下。
Page_Load里的:
SubjectSQL add=new SubjectSQL();
DropDownList1.DataSource =add.showSubject().Tables["Sub"];
DropDownList1.DataTextField="Subject";
DropDownList1.DataValueField="SubjectID";
DropDownList1.DataBind();

下面是SubjectSQL类里的:
public DataSet showSubject()
{
string sql="";
DataSet dsCustomers=new DataSet();
sql="select * from Sub";
try
{
conn.Open();
SqlCommand sqlcommand=new SqlCommand(sql,conn);
SqlDataAdapter adapter=new SqlDataAdapter(sqlcommand);
adapter.Fill(dsCustomers,"device_customers");

}
catch(Exception e)
{
e.ToString();
}
finally
{
conn.Close();
}
return dsCustomers;
}
mawish 2007-04-17
  • 打赏
  • 举报
回复
因为之前那个是我写错了。不好意识各位..
表名:Sub
列:SubjectID [INT.自动编码]
列:Subject [varchar 50]
请教一下各位高手.
怎样把这表绑定在下拉菜单DropDownList1中?
mawish 2007-04-17
  • 打赏
  • 举报
回复
因为之前那个是我写错了。不好意识各位..
表名:Sub
列:SubjectID [INT.自动编码]
列:Subject [varchar 50]
请教一下各位高手.
怎样把这表绑定在下拉菜单DropDownList1中?
fds2003 2007-04-17
  • 打赏
  • 举报
回复
你将问题的错误抓出来呀!
babyrockxray 2007-04-17
  • 打赏
  • 举报
回复
this.t_P_type_id.DataSource=add.showSubjectSQL().Tables["SubjectSQL"];
这个名字是对的吗??

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧