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, 连接没有错误,就是不显示数据值有表头
展开
 我来答
弥布是w
2012-11-27 · TA获得超过210个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:107万
展开全部
有表头没数据,表示数据库操作都是正确,sql语句正确。但是sql语句没查到东西。。。
但是你又说用这些语句在数据库中能查到,那么语句假如是正确,即应该能查到数据,
但是你没有数据,反过来说明sql语句的条件不正确,即where语句有问题。。。。
建议把那个sql语句拼出来,好好看看是不是和你在数据库里写的不一样。。。
不同数据库的数据类型也有点差异,建议仔细看看。。。
小神13
2012-11-28
知道答主
回答量:32
采纳率:0%
帮助的人:8.5万
展开全部
加断点,调试一下,看看有没有你的sql语句有没有数值,

如果没有的话,是sql语句的问题.

我看你复制的, 貌似where前面没有空格么 ??

你在where前面加上空格,试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄工的控件库
2012-11-27 · TA获得超过5732个赞
知道小有建树答主
回答量:1644
采纳率:50%
帮助的人:519万
展开全部
目测 where条件问题 调试看this.cboGrade.SelectedValue.ToString()的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式