Bueno pasa que no encuentro documentación sobre vb.net con ORACLE y si encuentro es muy pobre... quería pedir ayuda a la comunidad a solucionar mi problema y entenderlo, documentare todo para que quede claro mi problema y la funcionalidad que busco en esta aplicación.

Para el desarrollo, he usado:
-SQL datamodeler 11g (en donde he diseñado mis modelos fisico y relacional, a su vez saque los DDL (CREATE USER y ALTERATE TABLE) desde aqui para el developer)
-SQL developer 11g (en donde cree el usuario "a_comer" con pass "aco_123" con el DDL generado en datamodeler e hice la inserción de datos por mi cuenta repartidos en todas las tablas)
-VISUAL STUDIO 2012 (en donde trabajo con Visual Basic .NET conectada con la base de datos de ORACLE)

MINI_INDICE:
En este punto mostrare mis modelos lógico y relacional creados para el problema en SQL Datamodeler de ORACLE.
Aquí se mostrara como debiese funcionar el sistema propuesto con los Mockups respectivos y mi problema.
Mi código actual.

1. Los modelos desarrollados en SQL datamodeler son :
MODELO LÓGICO
https://www.dropbox.com/s/a62teu6ifp...ogico.png?dl=0
logico.png



MODELO RELACIONAL
https://www.dropbox.com/s/s6posjckr5...ional.png?dl=0



*nose porque se ve tan chico siendo que las imagenes son grandes y las puse en full size, bueno y adjunte links directos de las imagenes para que las puedan ver mejor.
* bueno y el informe de las tablas creado esta en pdf y no lo quiero pegar aca ya que seria un post bastante largo, por ende dejo el link a dropbox por si sea necesario revisar el informe de tablas. https://www.dropbox.com/s/z2y0y38h40...ablas.pdf?dl=0
2. Bueno parto mencionando por si acaso que he trabajado con:
-ORACLE 11g : datamodeler 11g & developer 11g
-Visual Studio 2012 : Visual Basic.net o mas bien conocido como vb.net

​Una vez poblada la base de datos empece a conocer el entorno de desarrollo que propone Visual Studio y lo primero que intente hacer fue conectar mi base de datos con Oracle, lo cual me costo demasiado encontrar la documentación necesaria para vb.net y oracle ya que siempre encontraba oracle con c# o con asp.net, etc. y cuando encontraba algo respecto a vb.net era con MySql o acces.
La cosa es que me ha sido realmente imposible encontrar documentacion suficiente para implementar este sistema como yo necesito, es por esto que recurro a uds.
Sin mas atochamiento vamos al problema.
Bueno mi aplicacion consiste en un sistema basico de restaurant en donde se pueda gestionar la informacion que se maneja en este.
Mi problema aparece aqui en donde quiero hacer un formulario para el ingreso de pedidos.
https://www.dropbox.com/s/quhr9a9hzh...b.net.png?dl=0



INFORMACION BASICA DE REGLA DE NEGOCIOS APLICADAS EN ESTE FORMULARIO
- puedo hacer uno o muchos pedidos para una misma cuenta
- en un pedido puedo almacenar uno o muchos productos con sus respectivas cantidades
- cada pedido puede tener solo un garzon y numero de mesa

QUE HE LOGRADO HACER?
-lamentablemente he gastado mas de 72 horas en solo conectarme a la base de datos y aprendi a llenar los combobox con la lista de datos que requiero y almaceno en una variable los datos seleccionados... hasta ahora puedo obtener el nombre de garzón , numero de mesa y los nombres de productos.

COMO DEBE FUNCIONAR LA APLICACIÓN
-inicialmente el boton agregar productos y solicitar pedido estaran inactivos hasta que se haga una seleccion en los combobox nom_garzon (combobox1) y num_mesa (combobox2)
-luego se habilitara el combobox agregar producto (combobox3) y el textbox cantidad (textbox6)
-el usuario debera seleccionar un producto y cantidad, de no escribir cantidad se asume que sera 1.
*Al seleccionar un producto en el textbox agregar producto el boton agregar productos (button1) se habilitara.
-en el momento que seleccione un producto y presione agregar producto, el boton debera:
+buscar en la tabla pedido el id_pedido mas alto o si se entiende mejor el MAX(id_pedido) para que automaticamente se refleje el max(pedido) que se rescato y sumarle +1, esto en el textbox id_pedido (textbox4),
+mostrar en el datagridview cuadrado que esta al lado de estos botones, que indica producto v/s cantidad, de esta forma se iran agregando uno a uno los productos por cada click en este datagridview (datagridview2)
-se habilitara el boton solicitar pedido en caso de que halla al menos un producto ingresado en el datagridview
-cuando e usuario termine de agregar los productos en el datagridview2, podra apretar el boton solicitar pedido (button2) en donde el boton tendra que:
+verificar si la mesa esta disponible o no, ¿para que? para decidir si anidar el id_pedido a una cuenta o generar cuenta_nueva

*ejemplo1= la mesa numero 6 esta disponible por lo que se creara una nueva cuenta que se reflejara en el textbox id_cuenta(textbox3), esta sera verificando la ultima cuenta de igual forma que con el pedido, un MAX(id_cuenta) a este se le sumara 1 y esa sera la nueva cuenta para el pedido, ademas que el estado o disponibilidad de la mesa cambiara de F (false) a T (true) y tambien se registrara la fecha y hora del sistema.

*ejemplo2= la mesa numero 3 no esta disponible (siendo su disponibilidad = F) por lo que se asume que la mesa esta consumiendo y ya tiene uno o mas pedidos en la misma asociados a una cuenta, por lo que este seria un pedido mas para la misma mesa, por ende se debe buscar el numero de cuenta para la mesa 3 con disponibilidad F y rescatar ese numero de cuenta y agregarlo en el id_cuenta (textbox3)

+insertar en la base de datos todos los productos agregados y mostrados en el datagridview cuadrado de arriba (datagridview2) sabiendose ya el numero de pedido de estos y a la cuenta que le pertenecen.

+se debe actualizar el datagridview reactangular que esta en la parte inferior mostrando la siguiente informacion sobre la cuenta actual con el fin de saber todos los productos que ha consumido actualmente dicha mesa:

*id_cuenta, id_pedido,mesa,nombre_garzon, nombre_producto, cantidad, precio_producto, fecha,hora.

3.Mi Codigo Actual en VB.NET

ESTE ES EL POCO CODIGO QUE HE PODIDO CREAR EN VISUAL BASIC.NET + ORACLE 11G
Imports System.Data.OracleClient
Imports System.Data.Sql
Public Class Form1
Dim cadena As String = " server = FRANCO ; user id = a_comer ; password = aco123 ; unicode = true "
Dim cn As New OracleConnection(cadena)

Dim nombre_completo_garzon As String
Dim numero_mesa As String
Dim maximo_pedido As String

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call mostrar_empleado()
Call combobox_garzon()
Call combobox_mesa()
Call combobox_producto()
End Sub

Sub mostrar_empleado()
Try
Dim da As New OracleDataAdapter("select * from empleado", cn)
Dim ds As New DataSet

da.Fill(ds, "emp")
Me.DataGridView1.DataSource = ds.Tables("emp")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Sub combobox_garzon()
Try
Dim sql As String = "select nombre||' '||paterno_ape||' '||materno_ape from empleado join tipo_empleado on empleado.id_cargo=tipo_empleado.id_cargo where tipo_empleado.id_cargo='12'order by nombre,paterno_ape,materno_ape"
Dim cmd As New OracleCommand(sql, cn)
cmd.CommandType = CommandType.Text
Dim da As OracleDataAdapter
Dim ds = New DataSet()
da = New OracleDataAdapter(cmd)
da.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = "nombre||''||paterno_ape||''||materno_ape" 'lo que se muestra
ComboBox1.ValueMember = "nombre||''||paterno_ape||''||materno_ape" 'lo que se almacena
ComboBox1.Text = ""
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Sub combobox_mesa()
Try
Dim sql As String = "select num_mesa from mesa"
Dim cmd As New OracleCommand(sql, cn)
cmd.CommandType = CommandType.Text
Dim da As OracleDataAdapter
Dim ds = New DataSet()
da = New OracleDataAdapter(cmd)
da.Fill(ds)
ComboBox2.DataSource = ds.Tables(0)
ComboBox2.DisplayMember = "num_mesa" 'lo que se muestra
ComboBox2.ValueMember = "num_mesa" 'lo que se almacena
ComboBox2.Text = ""
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Sub combobox_producto()
Try
Dim sql As String = "select nombre_producto from producto"
Dim cmd As New OracleCommand(sql, cn)
cmd.CommandType = CommandType.Text
Dim da As OracleDataAdapter
Dim ds = New DataSet()
da = New OracleDataAdapter(cmd)
da.Fill(ds)
ComboBox3.DataSource = ds.Tables(0)
ComboBox3.DisplayMember = "nombre_producto" 'lo que se muestra
ComboBox3.ValueMember = "nombre_producto" 'lo que se almacena
ComboBox3.Text = ""
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
nombre_completo_garzon = ComboBox1.SelectedValue.ToString 'aqui se almacena el valor del combobox1 en este caso el rut
End Sub

Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
numero_mesa = ComboBox2.SelectedValue.ToString
End Sub

End Class