标题:
跪求VB.net+Acess解決方案
[打印本页]
作者:
crenel
时间:
2006-7-13 18:16
标题:
跪求VB.net+Acess解決方案
用VB.net 2005+Acess 编程 其中Mas.mdb 里有StuTable 和 TecTable两个表 其中都有的第一和第二个字段字段分别是ID和Name
而我要列出两个表里所有Name,但是发现StuTable的重复列出了两次 而TecTable却没有列出
代码如下
Public MyCnn As ADODB.Connection
Public MyRs As ADODB.Recordset
MyCnn = New ADODB.Connection
MyRs = New ADODB.Recordset
strCnn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=.\mas.mdb"
MyCnn.Open(strCnn)
MyRs.Open("select * from Tectable,StuTable", MyCnn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
MyRs.MoveFrist()
For i = 0 To MyRs.RecordCount - 1
Me.ListName.Items.Add(MyRs.Fields(2).Value.ToString)
MyRs.MoveNext()
Next
其中ListName是ListBox控件
麻烦各位大虾拉~~~~~
[
本帖最后由 crenel 于 2006-7-13 18:19 编辑
]
作者:
Nothing
时间:
2006-7-13 20:01
MyRs.Open("select * from Tectable,StuTable", MyCnn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
这句有错误
SQL语句不是这样写的
第一,两个表之间必需有关联,要不就乱了,比如StuTable增加一个Pid与TecTable的ID对应。
第二,如果出现两个表之后,就不用*了,应当写出表的字段名
例如下面
select a.name as aname,b.name as bname from Tectable a, StuTable b where a.id=b.pid
作者:
crenel
时间:
2006-7-13 21:43
谢谢阿
但是这两个表是相对独立的 还有一个表loginTable里面的Id字段就分别对应这两个表
而TecTable和StuTable两个表是分别存放老师和学生的资料 里面的ID不是对应的
作者:
crenel
时间:
2006-7-13 21:48
应该说是logintable里面ID字段囊括了TecTable和StuTable里面的所有的ID 但是不存在name字段
我想在登陆之后 列出TecTable和StuTable里面所有name的内容 然后也把这两个表的内容放在同一个记录集里面 方便以后的处理
作者:
Nothing
时间:
2006-7-13 22:28
如果两个表没有关联的话,统计查询肯定有问题,设过关联ID比较好。
便看你的意思,最好使用两次查询,没有必要非绑到一个查询结果里面。
另外多表查询很耗费CPU和内存资源。
作者:
crenel
时间:
2006-7-14 01:55
恩~
好的
谢谢啊
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0