datagrid显示数据的奇怪问题

iamdfccong 2007-12-10 06:16:45
各位大牛,我想在vb.net的windows form中使用一个datagird控件显示dataset中返回的查询内容,代码如下:

Dim strSQL As String = "select teacher_xm as 姓名,teaher_xb as 性别 from teacher" //teacher是表名,teacher_xm,teacher_xm是表项
SqlCommand1.CommandText = strSQL
DataSet11.Clear()
SqlDataAdapter1.Fill(DataSet11)

SqlConnection1,SqlCommand1,SqlDataAdapter1和DataSet11均已设置好,并设置了DataGrid1.DataSource = DataSet11.Table,检索后datagird1可以将“姓名”,“性别”这两个列标题显示出来,但其中的数据为空。

当用鼠标点击“姓名”或者“性别”列标题时,奇怪的现象发生了,检索的数据显示出来了!但每次都要点击列标题才能显示,是什么原因请大家指教!先在这里谢过了!

...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mosenyou 2010-08-21
  • 打赏
  • 举报
回复
我来学习一下.
阿双2009 2010-08-21
  • 打赏
  • 举报
回复
你把窗体上除DataGrid1控件外的其他控件全部拿掉,然后按如下代码试试:

Dim conn As New SqlConnection("Data Source=ZHUBAO-50521BCA;Initial Catalog=teacher;Integrated Security=True")
Dim da As New SqlDataAdapter("select 姓名,性别,单位,通讯地址 from teacher1,teacher2 where teacher1.ID=teacher2.ID", conn)

Dim ds As New DataSet()
da.Fill(ds)
DataGrid1.DataSource = ds.Tables(0)
zwlbar 2010-08-21
  • 打赏
  • 举报
回复
我也用得挺好
renyucai1963 2010-08-21
  • 打赏
  • 举报
回复
我在数据库中使用DataGrid控件,用的挺好的。
iamdfccong 2007-12-11
  • 打赏
  • 举报
回复
好的,我详细说明一下。例如,我有一个名为teacher的数据库,其中包含两个表teahcer1,teacher2,teacher1中含有ID,姓名,性别表项,teacher2中含有ID,单位,通讯地址(这两个表不能合成一个表),现在我想用SQL语句对两个表进行跨表查询,如:

select 姓名,性别,单位,通讯地址
from teacher1,teacher2
where teacher1.ID=teacher2.ID

然后将检索结果在vb.net的windows form中用一个datagird控件显示出来。我使用了ADO.NET的数据控件来实现,步骤如下:

1、添加窗体form1

2、在窗体上放置控件datagrid1

3、在窗体上放置控件sqlconnection1,将其与数据库teacher连接;
放置控件sqlcommand1,将其connection属性设为sqlconnection1,commandtext属性设为select * from teacher1;---(这样写是想在窗体load时显示teahcer1表中的数据)
放置控件sqldataadaptor1,将其selectcommand属性设为sqlcommand1
通过sqldataadaptor1的右键命令“生成数据集”生成dataset11---(这个时候在“数据源”窗口中出现dataset1,下面就是个名为Table的表,里面的表项是teacher1里的表项)

4、在form1的load事件中写如下代码:

SqlConnection1.ConnectionString = "Data Source=ZHUBAO-50521BCA;Initial Catalog=teacher;Integrated Security=True"
SqlConnection1.Open()
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataSource = DataSet11.Table

5、在button1的click事件中写如下代码:

Dim strSQL As String = select 姓名,性别,单位,通讯地址 from teacher1,teacher2 where teacher1.ID=teacher2.ID
SqlCommand1.CommandText = strSQL
DataSet11.Table.Reset()
'更新数据源
SqlDataAdapter1.Fill(DataSet11)

然后点出按钮进行查询,问题出现了!!!,检索后datagird1可以将“姓名”,“性别”等列标题显示出来,但其中的数据为空。但当用鼠标点击“姓名”或者“性别”列标题时,奇怪的现象发生了,检索的数据显示出来了!但每次都要点击列标题才能显示,请指教下,分不够可以再加,再次感谢




maxzhk 2007-12-10
  • 打赏
  • 举报
回复
看不见你的上下文,推测可能是你的代码逻辑顺序上的错误,建议你把代码贴全一点

另外DataSet下面没有Table这个成员,应该是指定
DataGrid1.DataSource = DataSet11.Table(X)
或者DataGrid1.DataSource = DataSet11.Table("表名")
05里面不太清楚,至少03里这样写是显示不出数据的
qinhl99 2007-12-10
  • 打赏
  • 举报
回复
奇怪
对任何 Web 站点而言,最重要的要求就是能够准确而安全地发送和存储信息。这种信息可以是任何形式,包括信贷公司提供的信用卡资料到市场信息网站的民意投票结果。不管将 ASP.NET Web 页面用于何种目的,您迟早都会需要处理涉及数据库的访问、读取和写入数据以及一般的控制操作。 幸运的是,操纵 Web 应用程序的数据库比以前更容易。 .NET Framework 改进了开发复杂的 Web 站点的方式。 ASP.NET 对如何开发复杂和交互的 Web 站点作了重大的改进, ADO.NET 提供了强大而灵活的数据访问功能,从根本上改变了从 Web 应用程序中检索、处理和存储数据的方式。 本书将介绍如何创建能够支持数据的 ASP.NET 应用程序。本书根据一些实践经验进行编写,并列举了演示基础原理的代码示例。本书要求读者对 ASP.NET 和 C# 有一些基本的认识,如果对操纵数据库没有任何经验也没有关系,作者将指导每个过程,包括将 ASP.NET 页面与数据库连接,研究各种读取、处理和更新数据的方法。接下来研究所有涉及侧重于数据的 ASP.NET 编程的问题,包括一些高级的主题,例如使用存储过程和组件。本书还给出了案例分析,将前面几章讨论的内容都置于同一个环境中加以运用。 0.1 本书主要内容 第 1 章介绍创建数据驱动的 Web 站点的一般性概念。特别讨论了 Web 站点与数据之间的关系,在此过程中介绍了 ADO.NET 。在这一章的末尾,还为本书其余章节创建了一个开发环境,讨论了一些可能会遇到的问题。 到底什么是数据库呢?这似乎是个奇怪问题。第 2 章介绍了不同类型的数据库,如何设计它们,以及如何使用它们存储和检索信息。接下来又概述了 SQL 语言,并与 Microsoft 的数据库方案作了一个简单的比较。 了解了数据库以后,就需要学习如何将它们与 ASP.NET 代码连接。第 3 章首先概述了第 1 章提到的 ADO.NET ,阐明了需要掌握的重要术语。接着是创建和测试对 Northwind 示例数据库的连接,本书将通篇使用该数据库。本章演示了大量例子,演示如何连接不同的数据源,例如 Access , SQL Server , Excel 和 XML ,以便在任何开发环境中都游刃有余。 第 4 章通过一些例子,运用 DataReader 对象读取和显示数据。首先讨论了在 ASP.NET 和 ADO.NET 中处理数据的原理,在 ADO.NET 中引入了 Command 对象。然后介绍如何运用 DataReader 获取数据,接着将那些数据绑定到像单选按钮、复选框这样的不同控件上和最重要的 DataGrid 上。 第 5 章讨论了一个重要的 ADO.NET 对象: DataSet ,它用于存储和检索服务器上任何复杂形式的数据。在介绍完原理之后,使用大量的例子来演示使用 DataSet 的不同方法。 当然,我们并不总是读取其他人的数据,因此第 6 章介绍了如何在现有的数据库中创建自己的记录。该章的主题包括 ASP.NET 的验证控件,以及使用 Command 对象和 DataSet 对象实现插入记录。

16,719

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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