读书人

关于OleDbDataAdapter的Fill有关问题

发布时间: 2012-03-02 14:40:28 作者: rapoo

关于OleDbDataAdapter的Fill问题
Dim ProgramRightDS As New DataSet

Dim ProgramDA As OleDbDataAdapter
Dim ProgramRightDA As OleDbDataAdapter
ProgramDA = New OleDbDataAdapter( "SELECT PROGRAMID, PROGRAMDESC FROM PROGRAM ORDER BY PROGRAMDESC ", myConnection)
'多表查询的Select语句
ProgramRightDA = New OleDbDataAdapter( "SELECT PROGRAM.PROGRAMDESC, PROGRAMRIGHTS.RIGHTID FROM PROGRAMRIGHTS,PROGRAM WHERE PROGRAM.PROGRAMID=PROGRAMRIGHTS.PROGRAMID; ", myConnection)

ProgramDA.Fill(ProgramRightDS, "PROGRAM ")

ProgramRightDA.Fill(ProgramRightDS) '提示出错

我想把ProgramRightDA也Fill到ProgramRightDS中,如何实现?ProgramRightDA是一个多表查询,在Fill时我如何写表名?


[解决办法]
Dim ProgramRightDS As New DataSet
提示的是什么错误,把错误信息写出来。

可以用个变通的方法:
把两个Sql写在一起。
Dim ProgramDA As OleDbDataAdapter
ProgramDA = New OleDbDataAdapter( "SELECT PROGRAMID, PROGRAMDESC FROM PROGRAM ORDER BY PROGRAMDESC;SELECT PROGRAM.PROGRAMDESC, PROGRAMRIGHTS.RIGHTID FROM PROGRAMRIGHTS,PROGRAM WHERE PROGRAM.PROGRAMID=PROGRAMRIGHTS.PROGRAMID ", myConnection)

ProgramDA.Fill(ProgramRightDS)

[解决办法]
dataset可以填多个表的啊,表名随便,只要不重复
[解决办法]
Dim ProgramRightDS As New DataSet

Dim ProgramDA As OleDbDataAdapter

ProgramDA = New OleDbDataAdapter( "SELECT PROGRAMID, PROGRAMDESC FROM PROGRAM ORDER BY PROGRAMDESC;SELECT PROGRAM.PROGRAMDESC, PROGRAMRIGHTS.RIGHTID FROM PROGRAMRIGHTS,PROGRAM WHERE PROGRAM.PROGRAMID=PROGRAMRIGHTS.PROGRAMID; ", myConnection)

ProgramDATableMappings.Add( "PROGRAM1 ", "你打算起的第二个表名 ");
ProgramDA.Fill(ProgramRightDS, "PROGRAM ")

读书人网 >VB Dotnet

热点推荐