c#2005中将数据库查询数据放入DataGridView中不显示数据

我的代码如下:stringstr="DataSource=localhost;InitialCatalog=pd;user=sa;password=;";SqlConne... 我的代码如下:
string str = "Data Source=localhost;Initial Catalog=pd;user=sa;password=;";
SqlConnection myconnection = new SqlConnection(str);
myconnection.Open();
string mysql = "select * from persional_safe_info where persional_safe_info_id='" +queryid.Text + "'";
SqlDataAdapter sa = new SqlDataAdapter(mysql, myconnection);
DataSet dt = new DataSet();
sa.Fill(dt);
display.DataSource = dt.Tables[0];
myconnection.Close();
我想将查询的结果放入到DataGridView中,但是怎么都不显示,我调试的时候发现我的代码对数据库有操作,但是就是放不到dataset中,请问这怎么弄?
display是GataGridView的name值,各个变量都没有写错~
dt里没有值,但是可以看到对数据库进行查询过了(sa.Fill(dt).ToString()!=0)
都试了~还不行~ ^—.—^
display.DataBind()这句话在vs2005会出错~
展开
 我来答
百度网友d7ae1df
2011-02-04 · TA获得超过234个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:145万
展开全部
如果都没错的话,看看你的DataGridView的名称是不是写错了。
你上的DataGridView的名称是这个(display)吧?
看看调试在哪一步出现意料之外的状况,再分析下。
------------------------------------------------------------------------
你在调试的时候,有没有把那SQL语句直接拿到SQL Server里面的查询分析器里试试看执行的是否有结果呢???如果SQL语句执行没有结果的话(也就是你数据库里面没有数据的话),DataGridView自然就没法显示任何东西了
-------------------------------------------------------------------------------------------
执行过,不代表执行结果有值。
你要把这句“select * from persional_safe_info where persional_safe_info_id='" +queryid.Text + "”
最后生成的SQL语句拿去执行。这句生成完整的SQL执行有值,其他没错的情况下,DataGridView才能有数据 。
如果你做的是网站操作的话,得记得加上一句“display.DataBind();”;
(这句,窗体 不用,网站却要)
-----------------------------------------------------------------------------------------
你做的应该不是Web项目吧?
不是的话,就不需要DataBind(),要不多了也是错。
你把调试过程中生成的完整SQL语句,去执行了没?
要这个执行有结果,DataGridView才能有数据的。
最后的仙人
2011-02-04 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1402万
展开全部
你确定查询出来了数据吗?dt不是空的?
既然你说dt里面没有值,那么我的建议是,你设个断点在这一句
string mysql = "select * from persional_safe_info where persional_safe_info_id='" +queryid.Text + "'";
然后得到下一步的mysql的值,放到sqlserver里面去运行一下,看看是不是有什么错误
可能是sql语句写错了可能是queryid的text值有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freedan2008
2011-02-03 · 超过18用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:45.6万
展开全部
你改一下使用datatable:
datatable dt = new datatable ();
sa.Fill(dt);
display.DataSource = dt;
或者:
DataSet dt = new DataSet();
sa.Fill(dt,"persional_safe_info");
display.DataSource = dt.Tables["persional_safe_info"];
还有你的sql语句有没有检索出你要的数据(有操作不一定能检出数据,没有检索到也是一种情况)
你在数据库中运行一下sql语句能不能检出数据,检查变量的名称。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
掌什爱E
2011-02-03
知道答主
回答量:32
采纳率:0%
帮助的人:15.3万
展开全部
gridview不会之前绑定了什么吧,删了换个试试,还有databind别忘了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式