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不能读取到数据库,下拉时为空白,怎么解决? 展开
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不能读取到数据库,下拉时为空白,怎么解决? 展开
展开全部
你数据库链接还没有打开,我建的是这样的
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;
}
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 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
展开全部
最后加一行,cbDepart.DataBind();
更多追问追答
追问
直接错误
追答
晕,当成是web窗体了,
DataTable dt = dim.GetDepart();
看看dt中有没有数据
如果没有看下边
return sqlds.Tables["Department"]; 为什么要返回department?fill的时候也没指定啊,
我一般是用tables[0]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-25
展开全部
关键你读不出数据来,Sqlconnection对象有没有,有那么Open了没。
更多追问追答
追问
有,在那个DBHelp.cs中全都设置好了
追答
可以传上你的程序看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询