c# 用dataSet填充了 中DataGridView 为什么 还是没有数据,只有表头,但是是从数据库中查询就有数据
using(SqlConnectioncon=newSqlConnection(DBHelp.connString)){//查询语句StringBuildersqlStr...
using (SqlConnection con = new SqlConnection(DBHelp.connString))
{
//查询语句
StringBuilder sqlStr = new StringBuilder();
sqlStr.AppendLine("select StudentNo, StudentName, Sex, BornDate from [Student] ");
//判断当前是否选择有一个班级
if (this.cboGrade.SelectedIndex != -1)
{
sqlStr.AppendFormat("where GradeId = {0}", ConvertGrade(this.cboGrade.SelectedValue.ToString()));
}
//打开连接
con.Open();
//填充DataSet
datMySchool = new SqlDataAdapter();
datMySchool.SelectCommand = new SqlCommand(sqlStr.ToString(),con);
//清空数据集的数据
DataSet dst = new DataSet();
/* if (dst.Tables["Srudent"] != null)
{
dst.Tables["Student"].Clear();
}*/
datMySchool.Fill(dst, "Student");
con.Close();
//绑定dvg数据源
this.dgvStu.DataSource = dst.Tables["Student"];
this.dgvStu.Visible = true;
}
//用的vs2012, 连接没有错误,就是不显示数据值有表头 展开
{
//查询语句
StringBuilder sqlStr = new StringBuilder();
sqlStr.AppendLine("select StudentNo, StudentName, Sex, BornDate from [Student] ");
//判断当前是否选择有一个班级
if (this.cboGrade.SelectedIndex != -1)
{
sqlStr.AppendFormat("where GradeId = {0}", ConvertGrade(this.cboGrade.SelectedValue.ToString()));
}
//打开连接
con.Open();
//填充DataSet
datMySchool = new SqlDataAdapter();
datMySchool.SelectCommand = new SqlCommand(sqlStr.ToString(),con);
//清空数据集的数据
DataSet dst = new DataSet();
/* if (dst.Tables["Srudent"] != null)
{
dst.Tables["Student"].Clear();
}*/
datMySchool.Fill(dst, "Student");
con.Close();
//绑定dvg数据源
this.dgvStu.DataSource = dst.Tables["Student"];
this.dgvStu.Visible = true;
}
//用的vs2012, 连接没有错误,就是不显示数据值有表头 展开
3个回答
展开全部
加断点,调试一下,看看有没有你的sql语句有没有数值,
如果没有的话,是sql语句的问题.
我看你复制的, 貌似where前面没有空格么 ??
你在where前面加上空格,试试
如果没有的话,是sql语句的问题.
我看你复制的, 貌似where前面没有空格么 ??
你在where前面加上空格,试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
目测 where条件问题 调试看this.cboGrade.SelectedValue.ToString()的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询