求助大家datagridview数据源的问题

shamohai5566 2010-01-25 03:14:23
datagridview数据源的问题,我用的是SQL Server 2005数据库。我的datagridview已经绑定了一个表作为数据源,现在我想分类插叙,想输出这个表的一部分,比如说“OPerater”字段值为“张三”的记录。可以填充到一个Dataset数据集,让后把这个数据集作为datagridview的数据源就可以吗?为什么我的查询结果什么也没有也不报错!谢谢各位帮忙!
...全文
253 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwin 2010-10-10
  • 打赏
  • 举报
回复
未邦定到数据表吧,你的这句
this.dataGridView1.DataSource = ds;
后面应该再指定
this.dataGridView1.Datamember = ds.tables(0).defaultview;
wangyue4 2010-01-26
  • 打赏
  • 举报
回复
dataGridView1.DataSource = d;
d是datatable对象,这就行啊
shamohai5566 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 shamohai5566 的回复:]
引用 15 楼 tianxinhs 的回复:
我一般这么做:gridview1.datasource=ds.tables[0].defaulview;
gridview1.databind();

提示错误,提示没有table 的定义,你的写法是不是ASP。NET里面的?

[/Quote]
有数据的不知道什么原因,我总觉得有数据源的控件,再次绑定数据源不是这么简单,但是没有资料
shamohai5566 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 tianxinhs 的回复:]
我一般这么做:gridview1.datasource=ds.tables[0].defaulview;
gridview1.databind();
[/Quote]
提示错误,提示没有table 的定义,你的写法是不是ASP。NET里面的?
hualiang_ll 2010-01-25
  • 打赏
  • 举报
回复
你先看看你那个表里面根据条件差出来有没有数据。
tianxinhs 2010-01-25
  • 打赏
  • 举报
回复
我一般这么做:gridview1.datasource=ds.tables[0].defaulview;
gridview1.databind();
shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wangyue4 的回复:]
dataset里放的是datatable的集合.datatable可理解为是内存中的一张表。这是最简单的写法了
[/Quote]
但是为什么我的datagridview控件用这种方法重新绑定后没有数据显示呀?查询语句什么的都没有错误。对了,我的datagridview控件是用bindingSource控件绑定了数据的。这个有关系吗?是不是使用bindingSource控件造成的呀?
wangyue4 2010-01-25
  • 打赏
  • 举报
回复
dataset里放的是datatable的集合.datatable可理解为是内存中的一张表。这是最简单的写法了
shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
有没有高手再帮忙看看,不胜感激!
shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
肯定有数据的呀,数据库里面的数据就在那里放着,我找不出原因来了
LoveLife_Go 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 shamohai5566 的回复:]
还是不行呀,填充数据集是ds没有变化,可能是没有数据填充到ds里吧,什么原因呢?
[/Quote]

你的代码没有问题,是不是查询的结果没有数据啊?

shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangyue4 的回复:]
SqlCommand    myCmd    = new SqlCommand();
SqlConnection Con = new SqlConnection(连接串);
SqlDataAdapter  myAdapter  = new SqlDataAdapter();
DataTable      SaveInfo    = new DataTable();
myCmd.CommandText = sql语句
myCmd.Connection = Con;//连接串
myAdapter.SelectCommand = myCmd;
                myAdapter.Fill(SaveInfo);   
 
[/Quote]
你好,这里面的datatable 与我的代码里面的 dataset有什么区别呀?不明白,我是新手,没有用过datatable谢谢您
shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
还是不行呀,填充数据集是ds没有变化,可能是没有数据填充到ds里吧,什么原因呢?
LoveLife_Go 2010-01-25
  • 打赏
  • 举报
回复
可以绑定
shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lovelife_go 的回复:]
你的代码没有问题,我已经测试过了
你跟踪一下你的sql语句,看看
[/Quote]
嗯 好的 ,我检测没有错误的,我在跟踪一下参数。已经绑定数据源的datagridview还可以再次绑定数据源是吗?
LoveLife_Go 2010-01-25
  • 打赏
  • 举报
回复
你的代码没有问题,我已经测试过了
你跟踪一下你的sql语句,看看
shamohai5566 2010-01-25
  • 打赏
  • 举报
回复
补充代码:
1--string strDetecter = this.toolStripComboBox_detecter.Text;
DataSet ds = new DataSet();
ds=reclass.DetecterInquire(strDetecter);//.Tables["Record"];
this.dataGridView1.DataSource = ds;
2---//按检测人姓名插叙检测记录
public DataSet DetecterInquire(string strRealname)
{
SqlConnection con = dbconnect.SqlConBind();
con.Open();
string sql = "select *from Record where operater=@Realname";
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
SqlParameter para = new SqlParameter("@Realname", SqlDbType.NVarChar, 20);
para.Value = strRealname;
sda.SelectCommand.Parameters.Add(para);
DataSet ds = new DataSet();
//sda.Fill(ds,"Record");
sda.Fill(ds);
con.Close();
return ds;

}
这样查询之后没有返回结果,怎么回事?谢谢大家,帮忙分析一下
LoveLife_Go 2010-01-25
  • 打赏
  • 举报
回复
贴代码吧
wangyue4 2010-01-25
  • 打赏
  • 举报
回复
大概是这样,查询的信息返回到SaveInfo中
wangyue4 2010-01-25
  • 打赏
  • 举报
回复
SqlCommand myCmd = new SqlCommand();
SqlConnection Con = new SqlConnection(连接串);
SqlDataAdapter myAdapter = new SqlDataAdapter();
DataTable SaveInfo = new DataTable();
myCmd.CommandText = sql语句
myCmd.Connection = Con;//连接串
myAdapter.SelectCommand = myCmd;
myAdapter.Fill(SaveInfo);

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧