多个表查询(联合查询)如何在DataGrid中使用问题

hi521 2004-10-10 11:26:33
例如:
sSQL="SELECT Product.Code AS 代号,Product.Name AS 名称,Class.Name AS 类别, "& _
"Product.CLASS_ID,Product.Price AS 单价 " & _
"FROM Class INNER JOIN " & _
ON Class.ID = Product.CLASS_ID " & _
"ORDER BY Product.Code, "

rs.CursorLocation = adUseClient
rs.Open sSQL, Conn, adOpenDynamic, adLockOptimistic

Set DataGrid1.DataSource = rs
我在DataGrid1中修改了类别ID(即Product.CLASS_ID列).理论上该产品的类别名称Class.Name 就相应的改变了,但在实际中DataGrid1的Class.Name并没有刷新.
如果我直接修改Class.Name列,则把类别表的该类名称也修改了(即不是修改该产品的类别,而是修改了该类别表的类别的名称)

各位高手,有什么解决方法啊!!(高分求解)
...全文
193 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
GGL123 2004-10-18
  • 打赏
  • 举报
回复
//因为数据量太大(四万多条)
Rs.Requery
Set DataGrid1.DataSource = Rs


建议不要一下打开那么多的记录。
haohaohappy 2004-10-18
  • 打赏
  • 举报
回复
"update Class set Class.Name = Product.Name where Class.ID = Product.CLASS_ID "
haohaohappy 2004-10-18
  • 打赏
  • 举报
回复
试试
update 表 set 用户名=B where id=xxx
加个条件更新
应该可以实现单条更新
haohaohappy 2004-10-18
  • 打赏
  • 举报
回复
我知道你的意思了,可是我推荐
Rs.Update
Rs.UpdateBatch
Rs.Requery
Set DataGrid1.DataSource = Rs
hi521 2004-10-16
  • 打赏
  • 举报
回复
不是更新的问题啊.我就是这样更新一些字段后,另外一些相关的字段没有自动刷新数据,只有重新打开页面,或者是重新刷新整个记录集,才能得到刷新效果,但是因为数据量太大(四万多条),所以这样好慢,我只想刷新更新那条的记录.我已经在一些软件中看到过这样的效果,就是不知怎么做的

to 回复人: QWERT520(阿乐) ( ) 信誉:100 2004-10-13 09:50:00 得分: 0

to 回复人: KJ_Wang(Java Every Day)
在事件<Change>中设置一下就可以了,
怎么设置??
常遇道 2004-10-13
  • 打赏
  • 举报
回复
首先用:
Set DataGrid1.DataSource = rs
DataGridl.Refresh
然后在:右击DataGridl属性-->通用-->允许更新(勾上)
这个你试试
KJ_Wang 2004-10-13
  • 打赏
  • 举报
回复
在事件<Change>中设置一下就可以了,
常遇道 2004-10-11
  • 打赏
  • 举报
回复
Dim sSQL As String
sSQL = "SELECT Product.Code AS 代号,Product.Name AS 名称,Class.Name AS 类别," & _
"Product.CLASS_ID,Product.Price AS 单价 " & _
" FROM Class INNER JOIN " & _
" ON Class.ID = Product.CLASS_ID " & _
" ORDER BY Product.Code"

rs.CursorLocation = adUseClient
rs.Open sSQL, Conn, 0, 1

Set DataGrid1.DataSource = rs
hi521 2004-10-11
  • 打赏
  • 举报
回复
不对啊,我的意思是在软件运行时的DataGrid1中修改Product.CLASS_ID的值,即是改变该产品所属的类别ID,但在DataGrid1中有另一列是显示该产品类别的名称的.那一列没有动态的刷新为修改后的产品类别名称
online 2004-10-10
  • 打赏
  • 举报
回复
应该是数据库中修改,然后刷新即可
lxcc 2004-10-10
  • 打赏
  • 举报
回复
我在DataGrid1中修改了类别ID(即Product.CLASS_ID列).理论上该产品的类别名称Class.Name 就相应的改变了,但在实际中DataGrid1的Class.Name并没有刷新.
//怎么修改?在企业管理器内修改?
//应该是作为条件,修改ID,查出来的Name才会变化
zgvslch 2004-10-10
  • 打赏
  • 举报
回复
看得我头好晕!!!帮你顶一下

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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