• Jueves 3 de Julio de 2025, 12:40

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - +Onis

Páginas: [1]
1
C# / DataSet?
« en: Martes 30 de Agosto de 2011, 11:40 »
Hola, ante todo gracias por leer este mensaje,…ya hace tiempo que mantengo una lucha con este programa, el cual recoge   un XML de una tabla de SQL, lo desglosa e inserta los campos necesarios en una o varias tablas de ORACLE.
Demomento, en lo que veis de código(es una version mini del programa grande), recojo un solo XML desde un id concreto de operación y un id concreto de tabla…lo que querria es poder automatizar este select y solo tener que especificarle el idtabla,,,y que él solito vaya cogiendo todos los xml con el idtabla=122, en este caso,,y los vaya insertando en la tabla de oracle,,,en vez de ir 1 por 1 a manija concretandole el idoperacion. Me supongo que para ello seria necesario un “datatable”, pero no entiendo la mecánica, si me podeis enseñar como, lo agradeceria enormemente.
MUCHAS GRACIAS.



Código: C#
  1. namespace TO_REC
  2. {
  3.     public partial class Form1 : Form
  4.     {
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.         }
  9.  
  10.         private static readonly string cnnStrTPV =
  11.            ConfigurationManager.ConnectionStrings["xTrelaTPVConnectionString"].ConnectionString;
  12.  
  13.         System.Data.OracleClient.OracleConnection conn =
  14.             new System.Data.OracleClient.OracleConnection();
  15.  
  16.         int idtabla;
  17.         long Id;
  18.         string sql = "";
  19.  
  20.         System.Collections.ArrayList ListaPedidos =
  21.                new System.Collections.ArrayList();
  22.  
  23.          //Instanciamos el objeto de la estructura
  24.           CabPedido CPedido         =  new CabPedido();  
  25.           PedidoDetalle PDetalle    =  new PedidoDetalle();
  26.  
  27.  
  28.         private void RecogerXML()
  29.         {
  30.  
  31.             XmlDocument doc1 = new XmlDocument();
  32.            
  33.             SqlConnection cnn = new SqlConnection(cnnStrTPV);
  34.  
  35.             cnn.Open();
  36.  
  37.             LoadXml1(cnn, doc1);
  38.  
  39.             cnn.Close();
  40.  
  41.             doc1.Save("C:\\Users\\dnonis\\Desktop\\temp\\OutputXml1.xml");
  42.            
  43.         }
  44.  
  45.  
  46.  
  47.         protected bool LoadXml1(SqlConnection cnn, XmlDocument doc1)
  48.         {
  49.             //Leemos el campo serialización(XML) de la bbdd.
  50.  
  51.  
  52.             idtabla = 122;//pedidostiendas
  53.             Id = //100019014084;
  54.                  //100163019855;
  55.                   1001310122429;
  56.                  //100152014221;
  57.  
  58.             sql = @"SELECT Serializacion
  59.                    FROM xTrelaTPV..OPERACIONES
  60.                    WHERE IdOperacion =" + Id +
  61.                    "and idtabla=" + idtabla + "";
  62.  
  63.             SqlCommand cm = new SqlCommand(sql, cnn);
  64.             using (SqlDataReader dr = cm.ExecuteReader())
  65.             {
  66.                 if (dr.Read())
  67.                 {
  68.                     SqlXml MiXml = dr.GetSqlXml(dr.GetOrdinal("Serializacion"));
  69.                     doc1.LoadXml(MiXml.Value);
  70.                     return true;
  71.                 }
  72.                 else
  73.                 {
  74.                     return false;
  75.                 }
  76.             }
  77.         }
  78.  
  79.         public void GetCampos_PedidoTienda()
  80.         {
  81.             XmlDocument xDoc = new XmlDocument();//XmlDocument nos permite editar el XML
  82.             //La ruta del documento XML permite rutas relativas
  83.             //respeto del ejecutable!
  84.  
  85.             xDoc.Load("C:/Users/dnonis/Desktop/temp/OutputXml1.xml");//ruta del archivo xml
  86.  
  87.             XmlNodeList pedidostiendas =
  88.                 xDoc.GetElementsByTagName("PedidoTienda");//idtabla=122-->PedidosTiendas
  89.  
  90.  
  91.             foreach (XmlElement nodo in pedidostiendas)
  92.             {
  93.  
  94.                
  95.                 CPedido.IdPedidoTienda = Convert.ToUInt64(nodo.GetElementsByTagName("IdPedidoTienda")[0].InnerText);//nodo xsi.nil
  96.  
  97.                 CPedido.IdentidadOrigenPedido = Convert.ToInt32(nodo.GetElementsByTagName("IdEntidadOrigenPedido")[0].InnerText);
  98.  
  99.                 CPedido.FechaPedido = nodo.GetElementsByTagName("FechaPedido")[0].InnerText;
  100.  
  101.                 CPedido.CodigoBarras = nodo.GetElementsByTagName("CodigoBarras")[0].InnerText;
  102.  
  103.                 CPedido.IdDivisa = Convert.ToInt32(nodo.GetElementsByTagName("IdDivisa")[0].InnerText);
  104.  
  105.                 CPedido.IdTicket = nodo.GetElementsByTagName("IdTicket")[0].InnerText;
  106.  
  107.                 CPedido.Comodin2 = nodo.GetElementsByTagName("Comodin2")[0].InnerText;
  108.  
  109.                 CPedido.Comodin8 = nodo.GetElementsByTagName("Comodin8")[0].InnerText;
  110.  
  111.                 CPedido.IdEmpleado = nodo.GetElementsByTagName("IdEmpleado")[0].InnerText;
  112.  
  113.                
  114.                 ListaPedidos.Add(CPedido);
  115.              
  116.             }
  117.  
  118.              XmlNodeList pedidostiendasDetalleCollection =
  119.                 xDoc.GetElementsByTagName("PedidoTiendaDetalleCollection");
  120.                 XmlNodeList PedidoTiendaDetalle =
  121.                   ((XmlElement)pedidostiendasDetalleCollection[0]).GetElementsByTagName("PedidoTiendaDetalle");
  122.            
  123.  
  124.                 foreach (XmlElement nodo1 in PedidoTiendaDetalle)
  125.                 {
  126.  
  127.                     PDetalle.IdPedidoTienda1 = Convert.ToUInt64(nodo1.GetElementsByTagName("IdPedidoTienda")[0].InnerText);
  128.                    
  129.                     PDetalle.Linea = Convert.ToInt32(nodo1.GetElementsByTagName("Linea")[0].InnerText);
  130.                    
  131.                     PDetalle.IdTipoPedido = Convert.ToInt32(nodo1.GetElementsByTagName("IdTipoPedido")[0].InnerText);
  132.                    
  133.                     PDetalle.IdEntidadDestinoPedido = Convert.ToInt32(nodo1.GetElementsByTagName("IdEntidadDestinoPedido")[0].InnerText);
  134.                    
  135.                     PDetalle.FechaPrevistaEntregaEnTienda = nodo1.GetElementsByTagName("FechaPrevistaEntregaEnTienda")[0].InnerText;
  136.                    
  137.                     PDetalle.FechaEfectivaEntregaEnTienda = nodo1.GetElementsByTagName("FechaEfectivaEntregaEnTienda")[0].InnerText;
  138.                    
  139.                     PDetalle.IdArticuloVariante = nodo1.GetElementsByTagName("IdArticuloVariante")[0].InnerText;
  140.                    
  141.                     PDetalle.Unidades = nodo1.GetElementsByTagName("Unidades")[0].InnerText;
  142.                    
  143.                     PDetalle.UnidadesServidas = nodo1.GetElementsByTagName("UnidadesServidas")[0].InnerText;
  144.                    
  145.                     PDetalle.UnidadesCanceladas = nodo1.GetElementsByTagName("UnidadesCanceladas")[0].InnerText;
  146.                    
  147.                     PDetalle.PrecioVenta = nodo1.GetElementsByTagName("PrecioVenta")[0].InnerText;
  148.                    
  149.                     PDetalle.CodigoBarras = nodo1.GetElementsByTagName("CodigoBarras")[0].InnerText;
  150.                    
  151.                     PDetalle.IdPrioridadPedido = Convert.ToInt32(nodo1.GetElementsByTagName("IdPrioridadPedido")[0].InnerText);
  152.  
  153.                     if (PDetalle.IdReserva == null) { PDetalle.IdReserva = Convert.ToUInt32(nodo1.GetElementsByTagName("IdReserva")[0].InnerText); }
  154.  
  155.                     if (PDetalle.IdValija == null)  { PDetalle.IdValija = Convert.ToUInt32(nodo1.GetElementsByTagName("IdValija")[0].InnerText); }
  156.  
  157.                     if (PDetalle.IdEstadoPedido == null) { PDetalle.IdEstadoPedido = Convert.ToInt32(nodo1.GetElementsByTagName("IdEstadoPedido")[0].InnerText); }
  158.  
  159.                     PDetalle.notas = nodo1.GetElementsByTagName("Observaciones")[0].InnerText;
  160.  
  161.  
  162.                 ListaPedidos.Add(PDetalle);
  163.  
  164.                 }
  165.         }
  166.  
  167.         public void InsertPedidosTotalOracle()
  168.         {
  169.  
  170.             conn.ConnectionString =
  171.                    "Data Source=DEVELOP_ORASRVDEV03;" + //schema bbdd
  172.                    "User ID=xxxxx;" +                   //usuario
  173.                    "Password=xxxxxxxxx";    //password
  174.  
  175.             conn.Open();//--abrimos conexion
  176.  
  177.             //Declaro una variable de tipo command del oracle
  178.             System.Data.OracleClient.OracleCommand MiComando = new System.Data.OracleClient.OracleCommand();
  179.             System.Data.OracleClient.OracleCommand MiComando2= new System.Data.OracleClient.OracleCommand();
  180.  
  181.            
  182.             /*OracleTransaction transaction1;
  183.             OracleTransaction transaction2;*/
  184.  
  185.             ////////-------------------
  186.             System.Data.OracleClient.OracleParameter var1 = new System.Data.OracleClient.OracleParameter();
  187.             var1.OracleType = System.Data.OracleClient.OracleType.UInt32;
  188.            
  189.             if (CPedido.IdTicket == "") { var1.Value = Convert.ToUInt64(0); }
  190.             else if (CPedido.IdTicket != "") { var1.Value = Convert.ToUInt64(CPedido.IdTicket); }
  191.             else { var1.Value = Convert.ToUInt32(0); }
  192.             ////////-------------------
  193.             System.Data.OracleClient.OracleParameter var2 = new System.Data.OracleClient.OracleParameter();
  194.             var2.OracleType = System.Data.OracleClient.OracleType.Int32;
  195.            
  196.             if (CPedido.Comodin2 == "") { var2.Value = Convert.ToInt32(0); }
  197.             else if (CPedido.Comodin2 != "") { var2.Value = Convert.ToInt32(CPedido.Comodin2); }
  198.             else { var2.Value = Convert.ToUInt32(0); }
  199.             ////////-------------------
  200.             System.Data.OracleClient.OracleParameter var3 = new System.Data.OracleClient.OracleParameter();
  201.             var3.OracleType = System.Data.OracleClient.OracleType.UInt32;
  202.            
  203.             if (CPedido.IdEmpleado == "") { var3.Value = Convert.ToUInt64(0); }
  204.             else if (CPedido.IdEmpleado != "") { var3.Value = Convert.ToUInt64(CPedido.IdEmpleado); }
  205.             else { var3.Value = Convert.ToUInt32(0); }
  206.             ////////-------------------
  207.             System.Data.OracleClient.OracleParameter var4 = new System.Data.OracleClient.OracleParameter();
  208.             var4.OracleType = System.Data.OracleClient.OracleType.VarChar;
  209.  
  210.             if (PDetalle.FechaPrevistaEntregaEnTienda == "") { var4.Value = "null"; }
  211.             else { var4.Value = Convert.ToDateTime(PDetalle.FechaPrevistaEntregaEnTienda); }
  212.             ////////-------------------
  213.             System.Data.OracleClient.OracleParameter var5 = new System.Data.OracleClient.OracleParameter();
  214.             var5.OracleType = System.Data.OracleClient.OracleType.VarChar;
  215.  
  216.             if (PDetalle.FechaEfectivaEntregaEnTienda == "") { var5.Value = "null"; }
  217.             else { var5.Value = Convert.ToDateTime(PDetalle.FechaEfectivaEntregaEnTienda); }
  218.             ////////-------------------
  219.            
  220.  
  221.             MiComando.Parameters.Clear();
  222.  
  223.            /* // Start a local transaction
  224.             transaction2 = conn.BeginTransaction(IsolationLevel.ReadCommitted);
  225.             // Assign transaction object for a pending local transaction
  226.              MiComando2.Transaction = transaction2;
  227.             */
  228.             try
  229.             {
  230.                 string numTPV=Convert.ToString(CPedido.IdPedidoTienda);
  231.                 string numTPVsbtr= numTPV.Substring(7,2);
  232.  
  233.                 //string numTicket = Convert.ToString(CPedido.IdTicket);
  234.                 //string numTicketsbtr = numTicket.Substring(10, (numTPV.Length));
  235.                
  236.  
  237.                 string oracle = "Insert into TO_REC_PEDIDOS_TIENDAS_CAB" +
  238.                                 "(CODIGO_EMPRESA,NUMERO_PEDIDO,TIENDA_ORIGEN,FECHA_PEDIDO,"+
  239.                                 "CODIGO_BARRAS_PEDIDO,CODIGO_DIVISA," +
  240.                                 "NUMERO_TPV,NUMERO_TIQUET,CLIENTE_DESTINO,PEDIDO_ORIGINAL_XTRELA," +
  241.                                 "CODIGO_TRABAJADOR,PERSONA_PEDIDO)" +
  242.                                 "VALUES('1234D',"+CPedido.IdPedidoTienda+"," +CPedido.IdentidadOrigenPedido+ ",'"+
  243.                                 Convert.ToDateTime(CPedido.FechaPedido)+"','"+CPedido.CodigoBarras+"',"+CPedido.IdDivisa+ ","+
  244.                                 Convert.ToInt32(numTPVsbtr)+","+var1.Value+",'EJEMPLO',"+
  245.                                 var2.Value+","+var3.Value+",'"+CPedido.Comodin8+"')";
  246.  
  247.  
  248.                 string oracle_= "Insert into TO_REC_PEDIDOS_TIENDAS_LIN" +
  249.                                 "(CODIGO_EMPRESA,NUMERO_PEDIDO,NUMERO_LINEA,TIPO_PEDIDO," +
  250.                                 "CLIENTE_DESTINO,FECHA_ENTREGA_PREVISTA,FECHA_ENTREGA_REAL,"+
  251.                                 "CODIGO_ARTICULO,UNIDADES_PEDIDAS,UNIDADES_SERVIDAS,UNIDADES_CANCELADAS,"+//,"+
  252.                                 "PRECIO_VENTA,CODIGO_BARRAS_SOBRE,PRIORIDAD_PEDIDO,"+
  253.                                 "NUMERO_RESERVA,NUMERO_VALIJA,STATUS_PEDIDO,"+
  254.                                 "OBSERVACIONES)"+
  255.                                 "VALUES('1234D',"+PDetalle.IdPedidoTienda1+","+PDetalle.Linea+",'"+
  256.                                 PDetalle.IdTipoPedido+"','"+PDetalle.IdEntidadDestinoPedido+"','"+
  257.                                 var4.Value+"','"+var5.Value+"','"+
  258.                                 PDetalle.IdArticuloVariante+"','"+(PDetalle.Unidades)+"','"+
  259.                                 (PDetalle.UnidadesServidas)+"','"+(PDetalle.UnidadesCanceladas)+"','"+
  260.                                 PDetalle.PrecioVenta+"','"+PDetalle.CodigoBarras+"',"+PDetalle.IdPrioridadPedido+","+
  261.                                 PDetalle.IdReserva+","+PDetalle.IdValija+","+
  262.                                 PDetalle.IdEstadoPedido+","+PDetalle.notas+")";
  263.                
  264.                
  265.                
  266.                 MiComando = new OracleCommand(oracle, conn);
  267.                 MiComando.ExecuteNonQuery();
  268.  
  269.                 MiComando2 = new OracleCommand(oracle_, conn);
  270.                 MiComando2.ExecuteNonQuery();
  271.                
  272.                 //transaction2.Commit();
  273.  
  274.                 MessageBox.Show("Ejecución realizada con éxito", "INFO",
  275.                    MessageBoxButtons.OK, MessageBoxIcon.Information);
  276.  
  277.                
  278.             }
  279.             catch (Exception err)
  280.             {
  281.                
  282.                 //transaction2.Rollback();
  283.  
  284.                 MessageBox.Show("Error..." + err.Message, "ERROR",
  285.                   MessageBoxButtons.OK, MessageBoxIcon.Error);
  286.  
  287.                 MessageBox.Show("Para más información consulte con su Administrador");
  288.  
  289.             }
  290.  
  291.             conn.Close();//--cerramos conexión
  292.  
  293.  
  294.             this.Close();//cerramos y salimos de la aplicación
  295.  
  296.         }
  297.  
  298.  
  299.             public class CabPedido //--> .:Oracle:. "TO_REC_PEDIDOS_TIENDAS_CAB"
  300.         {
  301.  
  302.             //Codigo_Empresa
  303.             public ulong IdPedidoTienda;
  304.             public int IdentidadOrigenPedido;
  305.             public string FechaPedido;
  306.             public string CodigoBarras;
  307.             public int IdDivisa;//tinyint
  308.             public string IdTicket;//bigint
  309.             //cliente_destino
  310.             public string Comodin2;
  311.             public string Comodin8;//nvarchar(100)
  312.             public string IdEmpleado;//bigint
  313.             //Fecha_Grabacion
  314.         }
  315.  
  316.  
  317.          
  318.              public class PedidoDetalle //--> "TO_REC_PEDIDOS_TIENDAS_LIN"
  319.         {
  320.             //Codigo_Empresa
  321.             public ulong IdPedidoTienda1;
  322.             public ulong IdPedidoTiendaDetalle;//¿¿??
  323.             public int Linea;
  324.             public int IdTipoPedido;
  325.             public int IdEntidadDestinoPedido;
  326.             public string FechaPrevistaEntregaEnTienda;//DATETIME
  327.             public string FechaEfectivaEntregaEnTienda;//DATETIME
  328.             //fecha real de entrega a cliente
  329.             public string IdArticuloVariante;
  330.             public string Unidades;//Numeric(11,4)
  331.             public string UnidadesServidas;//Numeric(11,4)
  332.             public string UnidadesCanceladas;//Numeric(11,4)
  333.             public string PrecioVenta;//money
  334.             public string CodigoBarras;
  335.             public int IdPrioridadPedido;
  336.             public long IdReserva;//long
  337.             public long IdValija;//long
  338.             public int IdEstadoPedido;
  339.             public string notas;
  340.             //Fecha_Grabacion
  341.         }
  342.  
  343.         private void button4_Click(object sender, EventArgs e)
  344.         {
  345.             RecogerXML();
  346.             GetCampos_PedidoTienda();
  347.             InsertPedidosTotalOracle();
  348.  
  349.  
  350.             this.Close();
  351.  
  352.         }
  353.     }
  354. }
  355.  
  356.  

2
C# / recoger campos y valores de un XML y pasarlo a un datatable
« en: Jueves 30 de Junio de 2011, 11:21 »
Buenas!! de antemano gracias, como siempre :)

querria saber, ya que no encuentro la suficiente documentacion explicita por internet, de como recoger campos y valores de un XML, y pasarlos a un datatable (para su posterior uso en una insercion de datos a oracle).

Cualquier ejemplo será bienvenido.

Muchisimas Gracias!

3
C# / Pasar variables de un Form a otro
« en: Miércoles 29 de Junio de 2011, 13:18 »
Hola a todos!! de primeras gracias a los que hagan el esfuerzo de leerlo y más a los que respondan.

Mi problema, aparte de q soy novato, es el hecho de pasar una variable que he capturado de un campo de un doc XML, y tratarlo en otro form para insertarlo en una tabla Oracle.

Os paso el código:

FORM1
-----------

namespace pruebaXML
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)
{
RecogerXML_PedidoTienda();
}

private void button3_Click(object sender, EventArgs e)
{

MostrarCampos_PedidoTienda();

}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}

private void button4_Click(object sender, EventArgs e)
{
InsertarDatos f = new InsertarDatos();
f.ShowDialog();


}

//private static readonly string cnnStr = ConfigurationManager.ConnectionStrings["xTrelaIntegracionConnectionString"].ConnectionString;
private static readonly string cnnStrTPV = ConfigurationManager.ConnectionStrings["xTrelaTPVConnectionString"].ConnectionString;


//Código encargado de realizar la conexion con la bbdd
//y de llamar al método que realiza la recogida del XML del campo de la bbdd
//y de crear el archivo xml en la ruta especificada
private void RecogerXML_PedidoTienda()
{

XmlDocument doc = new XmlDocument();

SqlConnection cnn = new SqlConnection(cnnStrTPV);

cnn.Open();

LoadXml(cnn, doc);

cnn.Close();

doc.Save("C:\Users\davidma\Desktop\OutputXml.xml");

MessageBox.Show("Archivo XML importado y creado correctamente", "Info",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}

//Método que recoge el campo xml de la bbdd
protected bool LoadXml(SqlConnection cnn, XmlDocument doc)
{
//Leemos el campo serialización(XML) de la bbdd.
string sql = @"SELECT Serializacion
FROM xTrelaTPV..OPERACIONES
WHERE IdOperacion = @IdOperacion
AND idtabla=@idtabla";

SqlCommand cm = new SqlCommand(sql, cnn);
cm.Parameters.Add(new SqlParameter("@IdOperacion", 10001901982));//id de ejemplo
cm.Parameters.Add(new SqlParameter("@Idtabla", 122));//idtabla PedidosTiendas
using (SqlDataReader dr = cm.ExecuteReader())
{
if (dr.Read())
{
SqlXml MiXml = dr.GetSqlXml(dr.GetOrdinal("Serializacion"));
doc.LoadXml(MiXml.Value);
return true;
}
else
{
return false;
}
}
}


//Método encargado de sacar los campos del xml
//moviendose por los diferentes nodos del archivo
public void MostrarCampos_PedidoTienda() {
XmlDocument xDoc = new XmlDocument();//XmlDocument nos permite editar el XML
//La ruta del documento XML permite rutas relativas
//respecto del ejecutable!


xDoc.Load("C:/Users/davidma/Desktop/OutputXml.xml");//ruta del archivo xml
XmlNodeList pedidostiendas =
xDoc.GetElementsByTagName("PedidoTienda");//idtabla=122-->PedidosTiendas
//XmlNodeList lista =
//((XmlElement)pedidotienda[0]).GetElementsByTagName("tiendapedido");

string contenido;//variable fuera del bucle para poder hacer el return
//y llamarla desde otro form

foreach (XmlElement nodo in pedidostiendas)
{

int i = 0;

XmlNodeList nEntityState = nodo.GetElementsByTagName("EntityState");
XmlNodeList nCodigoBarras = nodo.GetElementsByTagName("CodigoBarras");


contenido = String.Format
("nEntityState={0}nCodigoBarras={1}",
nEntityState.InnerText,

nCodigoBarras.InnerText,


//-------------------------------------------------------------------
//-------------------------------------------------------------------




//separaciones para diferenciar los nodos(a la hora de sacarlo por pantalla)
//que a su vez son diferentes tablas...
string separacion = "<PedidoTienda>";
//end separaciones

string msg = (separacion + contenido);

MessageBox.Show(msg, "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);


// return contenido;//kitar si peta
}

}

}


FORM2
-----------

namespace pruebaXML
{
public partial class InsertarDatos : Form
{
public InsertarDatos()
{
InitializeComponent();

}


private void button1_Click(object sender, EventArgs e)
{
ConnectToOracle();//(OraSid,OraPass,OraUser);
}


public void ConnectToOracle()
{
System.Data.OracleClient.OracleConnection conn =
new System.Data.OracleClient.OracleConnection();

// TODO: Modify the connection string and include any
// additional required properties for your database.
conn.ConnectionString =
"Data Source=DEVELOP_ORASRVDEV03;"+//schema bbdd
"User ID=libra;"+ //usuario
"Password=libra521fordevelopers"; //password

try
{
conn.Open();
MessageBox.Show("Conexión realizada con éxito!","INFO",MessageBoxButtons.OK,MessageBoxIcon.Information);
// Insert code to process data.

//Declaro una variable de tipo command del oracle
System.Data.OracleClient.OracleCommand MiComando = new System.Data.OracleClient.OracleCommand();
//Declaro mis parametros que voy a utilizar
System.Data.OracleClient.OracleParameter EntityS;
System.Data.OracleClient.OracleParameter codigoB;

//Instanceo mis parametros
EntityS = new System.Data.OracleClient.OracleParameter();
codigoB = new System.Data.OracleClient.OracleParameter();

//Asigna a los parámetros los valores que serán almacenados
EntityS.OracleType = System.Data.OracleClient.OracleType.VarChar;
codigoB.OracleType = System.Data.OracleClient.OracleType.Int32;

//Le doy nombre a los parametros
EntityS.ParameterName = "Param1";
codigoB.ParameterName = "Param2";

//Declaro la variable "form" del tipo formulario
//para llamar a las variables del Xml
//--> Form1 coger = new Form1();

////////////////


//les digo de que tipo de parametros van a hacer.
//contenido.getstring();

// string entitystate = Form1.MostrarCampos_PedidoTienda(contenido);


//string EntityState1 = Form1.MostrarCampos_PedidoTienda(contenido.nEntityState);



//int i = 0;
//EntityState.Value = coger.nEntityState.Text.ToString();//variables(del xml) del otro form
//codigoB.Value = Int32.Parse(coger.nCodigoBarras.Text.ToString());// "


//Limpio los parametros que voy a utilizar evitando alguna basura...
MiComando.Parameters.Clear();

//agrego los parametros para la ejecucion del comando
MiComando.Parameters.Add(EntityS);
MiComando.Parameters.Add(codigoB);

//agrego el comando a ser ejecutado
MiComando.CommandText = "Insert into TO_PRUEBAS(EstadoEntidad,CodigoBarras)values(Param1,Param2)";


//simplemente y sencillamente abro la conexion ejecuto el comando
//y luego cierro la conexion
conn.Open();
MiComando.ExecuteNonQuery();
//MiComando.ExecuteOracleNonQuery();
//conn.Close();

}
catch
{
MessageBox.Show("Error al conectar/insertar datos a la base de datos","ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
conn.Close();

}
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
MessageBox.Show("Conexión cerrada después de realizar tareas con éxito", "INFO", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}
//}

-----------------------------------------------------------
-----------------------------------------------------------
Bueno llegado este punto, os comento....he borrado muchas variables para no hacerlo más engorroso, asi que solo he dejado 2 para hacer la prueba(obviamente en Oracle hay una tabla con campos vacios dond esperan estas variables).

La cosa es que, en el primer Form, recoge los campos del XML, los separa, y los mete en variables, vease nEntityState, y luego en "contenido"-->que en realidad este contenido es para juntarlo todo y sacarlo en un msg,,,supongo que no es necesario para realizar el return,,o si,, :S

Desde el Form2, se deben llamar a estas variables para poderlas insertar en la tabla,,,pero no se como trabajar con ellas desde otro form,,,he provado el tema del return pero m da error....
Espero hayais entendido toda la metodologia y m podais ayudar.

Muchisimas gracias!

Páginas: [1]