C#中三层架构及Ado.net数据库访问问题!急 考试要

数据访问层代码:DBhelp.cs中publicstaticDataSetGetDepart(stringsql){SqlDataAdaptersqlda=newSqlD... 数据访问层代码:DBhelp.cs中
public static DataSet GetDepart(string sql)
{
SqlDataAdapter sqlda = new SqlDataAdapter(sql, Conn);
DataSet ds = new DataSet();
sqlda.Fill(ds);
return ds;
}
数据访问层departinfo.cs中
namespace StudentDAL
{
public class departinfo
{
public DataTable GetDepart()
{
SqlCommand command = new SqlCommand();
string sqlQuery = "select departmentname,departmentID from departmentifo";
DataSet sqlds = DBHelp.GetDepart(sqlQuery);
return sqlds.Tables["Department"];
}
}
}
业务逻辑层DepartInfoManager.cs中
namespace StudentInfoBLL
{
public class DepartInfoManager
{
departinfo depart=new departinfo();
public DataTable GetDepart()
{
DataTable dt = depart.GetDepart();
return dt;
}

}
}
UI层窗体StudentAdmin.cs中
DepartInfoManager dim = new DepartInfoManager();
private void StudentAdmin_Load(object sender, EventArgs e)
{
this.BindGdvStu();
//this.dataGridView1.Columns[0].Visible = false;
//this.dataGridView1.Columns[10].Visible = false;
tsbSave.Enabled = false;
tsbCancel.Enabled = false;
cbDepart.DataSource = dim.GetDepart();
cbDepart.DisplayMember = "Departmentname";
cbDepart.ValueMember = "DepartmentID";
}

但是窗体中的combobox不能读取到数据库,下拉时为空白,怎么解决?
展开
 我来答
月殇prince
2013-06-25 · TA获得超过984个赞
知道答主
回答量:59
采纳率:100%
帮助的人:39.1万
展开全部
你数据库链接还没有打开,我建的是这样的
private static string constr = @"Data Source=LIANZIYU-PC\SQLEXPRESS;Initial Catalog=Shop;Integrated Security=True";//链接字符串
public static DataTable Check(string sql, SqlParameter[] pram)
{
try
{
SqlConnection con = new SqlConnection(constr);
con.Open();//打开数据链接
SqlCommand com = new SqlCommand(sql, con);
for (int i = 0; i < pram.Length; i++)
{
com.Parameters.Add(pram[i]);
}
DataSet ds = new DataSet();
SqlDataAdapter ad = new SqlDataAdapter(com);
ad.Fill(ds);
con.Close();
return ds.Tables[0];
}
catch (Exception)
{
return null;
}
追问
有加DBHELP.CS那里已经设置好了 那个窗体中的datagridview控件都能读到数据库数据
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
李岩120
2013-06-25 · TA获得超过684个赞
知道小有建树答主
回答量:746
采纳率:50%
帮助的人:718万
展开全部
最后加一行,cbDepart.DataBind();
更多追问追答
追问
直接错误
追答
晕,当成是web窗体了,

DataTable dt = dim.GetDepart();
看看dt中有没有数据

如果没有看下边
return sqlds.Tables["Department"]; 为什么要返回department?fill的时候也没指定啊,
我一般是用tables[0]
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-25
展开全部
关键你读不出数据来,Sqlconnection对象有没有,有那么Open了没。
更多追问追答
追问
有,在那个DBHelp.cs中全都设置好了
追答
可以传上你的程序看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式