Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Oracle DataSet with multiple tables

Posted on 2004-04-22
4
1,466 Views
Last Modified: 2010-05-18
I have to do some major changes to an Oracle database; adding rows that require constraints to other tables.  Therefore I need the other tables in my dataset.

I can't get multiple resultsets to work.

Here's the code:


Dim otblPerson As New DataTable
Dim oDataRow As DataRow
Dim oDataSet As New DataSet("Pathlore")
Dim otblLUT_PERSON_XSELFHID As New DataTable
Dim daLUT_PERSON_XSELFHID As New OracleDataAdapter

daLUT_PERSON_XSELFHID.SelectCommand = New OracleCommand
daLUT_PERSON_XSELFHID.SelectCommand.Connection = oConn
daLUT_PERSON_XSELFHID.MissingSchemaAction = MissingSchemaAction.AddWithKey

Dim otblLUT_PERSON_YINACTIVE As New DataTable
Dim daLUT_PERSON_YINACTIVE As New OracleDataAdapter
daLUT_PERSON_YINACTIVE.SelectCommand = New OracleCommand
daLUT_PERSON_YINACTIVE.SelectCommand.Connection = oConn
daLUT_PERSON_YINACTIVE.MissingSchemaAction = MissingSchemaAction.AddWithKey

otblLUT_PERSON_YINACTIVE.TableName = "LUT_PERSON_YINACTIVE"
oDataSet.Tables.Add(otblLUT_PERSON_YINACTIVE)
otblLUT_PERSON_XSELFHID.TableName = "LUT_PERSON_XSELFHID"
oDataSet.Tables.Add(otblLUT_PERSON_XSELFHID)

daLUT_PERSON_YINACTIVE.SelectCommand.CommandText = "select * from UT_PERSON_YINACTIVE" & vbCrLf & "select * from LUT_PERSON_XSELFHID"

Try
daLUT_PERSON_YINACTIVE.Fill(oDataSet)
Catch ex As Exception
Me.Log.Write(3, ex.ToString)
End Try

The following error happens on the 'Fill':
System.Data.OracleClient.OracleException: ORA-00933: SQL command not properly ended

If I put a semicolon at the end of the first select, I get this:
System.Data.OracleClient.OracleException: ORA-00911: invalid character

If I separate them into two DataAdapters with two separate 'Fill's into the same DataSet, it tells me I tried to create duplicate data.  I think it is trying to fill the first table twice.

I'm programming in VB.NET with an Oracle connection.  I cannot use stored procedures.

Thanks in advance for any guidance you can give me.

Bob Payne
0
Comment
Question by:bob_payne
4 Comments
 
LVL 2

Expert Comment

by:navneet77
ID: 10889146
Can you try

daLUT_PERSON_YINACTIVE.SelectCommand.CommandText = "select * from UT_PERSON_YINACTIVE"

daLUT_PERSON_XSELFHID.SelectCommand.CommandText = "select * from LUT_PERSON_XSELFHID"

Hope it helps

Navneet
0
 
LVL 5

Accepted Solution

by:
tgannetts earned 250 total points
ID: 10889209
As far as I am aware, multiple resultsets are only supported in SQL Server, not Oracle, which is why the Command Not Properly Ended errors are being generated.

If you separate the DataAdapters, it is best to use the Fill command with the Tables in the Dataset specified, so:

Try
     daLUT_PERSON_YINACTIVE.Fill(oDataset.tables("LUT_PERSON_YINACTIVE"))
     daLUT_PERSON_XSELFHID.Fill(oDataset.tables("LUT_PERSON_XSELFHID"))
catch ex as exception
End try

Tom
0
 
LVL 25

Expert Comment

by:RonaldBiemans
ID: 10889237
Maybe the vbCrLF is the problem, you do however need the semicolon
0
 
LVL 1

Expert Comment

by:siobi
ID: 10956254
r u guys facing below problem?
Dear,
I'm using Microsoft Visual Studio .Net Pro 2003.

I'm using VB.net do develop an simple database application.

The database that I'm using currently is Oracle 8i.

The application having 2 Buttons, hereby call Button A and Button B.

The application start and when I press Button A, it loads the data from the oracle database using "Microsoft .NET Framework Data Provider for Oracle"

but it shows lacking and I want to stress more about it is I only having 10 records in my database!!!

when the data is loaded. I press the Button A again and everything seems goes fine, the data loading speed turns fine.

same thing applies for the button B.

So I'm wondering, last time when I'm using VB6.0, there is no such problem(lacking problem), but why it is lacking for VB.NET and it is always the first time I load the data?

I had try the same thing again on VB6.0 on the same machine same connection to DB, and it works fine.

my Boss is unhappy with this situition and I'm here looking for reply URGENTLY.

thanks for the help and sorry about my poor english.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Close form "before" open 3 48
VB.Net Report Printing Issue 3 54
VB.NET 2008 Publish Error 2 32
vb.net and creating a class 5 20
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question