none
Insertar datos xml en sql mediante consultas xpath C# RRS feed

  • Pregunta

  • Buen día

    antes que nada gracias por atender.

     Tengo la siguiente duda

    Tengo que ingresar datos de un xml a una tabla de Sql Server, ocupando a los datos mediante las consultas Xpath 

    XmlNodeList xnodesl1 = xDoc.SelectNodes("xmlns:Comprobante/NumCtaPago", xmlmanager);  

    De esta manera accedo a ese dato en total son 20 datos a extraer. 

    Pero quisiera saber como mandar ese dato que ya localice a un campo determinado en una tabla sql.

    Espero de favor puedan ayudarme!

    jueves, 7 de diciembre de 2017 19:02

Respuestas

  • hola

    >>Pero quisiera saber como mandar ese dato que ya localice a un campo determinado en una tabla sql.

    conoces algo sobre ado.net? porque si es asi teniendo el dato podrias realizar un INSERT o UPDATE de los datos en la tabla

    la estructura seria algo como esto

    using (SqlConnection conn = new SqlConnection("<connection string>"))  
    {  
        conn.Open();  
     
        string query = "INSERT INTO NombreTabla (campo1, campo2) VALUES (@param1, @param2)";  
        SqlCommand cmd = new SqlCommand(query, conn);  
        cmd.Parameters.AddWithValue("@param1", Convert.ToString(TextBox1.Text));  
        cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(Textbox2.Text));  
     
        cmd.ExecuteNonQuery();  
     
    } 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 7 de diciembre de 2017 20:53
  • hola

    >>pero que pasa si el archivo xml quiero que lo seleccione el usuario? 

    usas el OpenFileDialog para permitir que lo seleccione

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Alexx10 jueves, 14 de diciembre de 2017 22:51
    • Desmarcado como respuesta Alexx10 jueves, 14 de diciembre de 2017 22:51
    • Marcado como respuesta Alexx10 jueves, 14 de diciembre de 2017 23:40
    jueves, 14 de diciembre de 2017 21:37

Todas las respuestas

  • hola

    >>Pero quisiera saber como mandar ese dato que ya localice a un campo determinado en una tabla sql.

    conoces algo sobre ado.net? porque si es asi teniendo el dato podrias realizar un INSERT o UPDATE de los datos en la tabla

    la estructura seria algo como esto

    using (SqlConnection conn = new SqlConnection("<connection string>"))  
    {  
        conn.Open();  
     
        string query = "INSERT INTO NombreTabla (campo1, campo2) VALUES (@param1, @param2)";  
        SqlCommand cmd = new SqlCommand(query, conn);  
        cmd.Parameters.AddWithValue("@param1", Convert.ToString(TextBox1.Text));  
        cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(Textbox2.Text));  
     
        cmd.ExecuteNonQuery();  
     
    } 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 7 de diciembre de 2017 20:53
  • hola

    >>Pero quisiera saber como mandar ese dato que ya localice a un campo determinado en una tabla sql.

    conoces algo sobre ado.net? porque si es asi teniendo el dato podrias realizar un INSERT o UPDATE de los datos en la tabla

    la estructura seria algo como esto

    using (SqlConnection conn = new SqlConnection("<connection string>"))  
    {  
        conn.Open();  
     
        string query = "INSERT INTO NombreTabla (campo1, campo2) VALUES (@param1, @param2)";  
        SqlCommand cmd = new SqlCommand(query, conn);  
        cmd.Parameters.AddWithValue("@param1", Convert.ToString(TextBox1.Text));  
        cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(Textbox2.Text));  
     
        cmd.ExecuteNonQuery();  
     
    } 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Gracias por responder!

    Aun no tengo conocimientos de Ado.net soy principiante pero entiendo lo que me tratas de describir,

    ahora mando a llamar el archivo xml con una ruta,  pero que pasa si el archivo xml quiero que lo seleccione el usuario?  

    Te dijo eso por que no manejo el Textbox es el archivo que se seleccionaría el usuario  o por que lo remplazaría y no encuentro la manera de mandarlo a la tabla 

    Espero puedas orientarme.

    De ante mano muchas gracias

    jueves, 14 de diciembre de 2017 19:07
  • hola

    >>pero que pasa si el archivo xml quiero que lo seleccione el usuario? 

    usas el OpenFileDialog para permitir que lo seleccione

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Alexx10 jueves, 14 de diciembre de 2017 22:51
    • Desmarcado como respuesta Alexx10 jueves, 14 de diciembre de 2017 22:51
    • Marcado como respuesta Alexx10 jueves, 14 de diciembre de 2017 23:40
    jueves, 14 de diciembre de 2017 21:37
  • Gracias por atender, ya me ha funcionado.

    Tengo un duda, como es que debo declarar los parámetros @param1? 

    Cual seria la manera en la que podría guardar lo que estoy localizando de las consultas xpath, este seria mi código para guardar pero no consigo extraer el dato de la consulta xpath: 

     XmlNodeList xnodesl1 = xDoc.SelectNodes("xmlns:Comprobante/NumCtaPago", xmlmanager);     

    //Que seria lo que se necesitara para mandar el valor localizado a un campo a la tabla

    sqlConnection1.Open();

    string query = "INSERT INTO xFE_ExCFDI (campo1,campo2) VALUES (@param1, @param2, )"; 


                SqlCommand Cmd = new SqlCommand(query, sqlConnection1);

                Cmd.Parameters.AddWithValue("@param1", Convert.ToString(xnodesl1));

    Espero puedan ayudarme por favor para poder guardar los datos en la tabla de sql server

                               
    jueves, 14 de diciembre de 2017 23:39