none
¿Leer datos con DataReader y escribirlo con que? RRS feed

  • Pregunta

  • Tengo 2 bases de datos, de la cual de una traigo ciertas tablas, son bases de datos de access, leo registros de la primera con datareader y tengo que escribirlos en la segunda, pero no se que herramientras trae ADO.net, yo utilizo conexión OLEDB. tengo que borrar los registros de la segunda y escribirles adentro los de la primera.

    gracias.

    jueves, 1 de agosto de 2013 23:31

Respuestas

  • hola

    con el datareader lees de la primera, pero luego dines un simple INSERT que eejcutas con el OleDbCommand utilizando el ExecuteNonQuery()

    los valores del reader los asignarias como parametro del command

    string connstring = "connection string";  
    using (SqlConnection cnDb1 = new SqlConnection(connstring)) {  
        cnDb1.Open();  
     
        string sql = "SELECT campo1, campo2, campo3 FROM Tabla WHERE id =@id";  
        SqlCommand cmd = new SqlCommand(query, cnDb1  
        cmd.Parameters.AddwithValue("@id", Convert.Toint32(txtId.Text));  
     
        SqlDataReader reader = cmd.ExecuteReader(); 
    	
    	//insertas en la segunda tabla
    	string query = "INSERT INTO NombreTabla (campo1, campo2) VALUES (@param1, @param2)"; 
    	SqlCommand cmd = new SqlCommand(query, connDb2)
    	 
    	while (reader.Read())  
    	{		
    		cmd.Parameters.Clear(); 
    
    		cmd.Parameters.AddWithValue("@param1", Convert.ToString(reader["campo1"])); 
    		cmd.Parameters.AddWithValue("@param2", Convert.ToInt32(reader["campo2"])); 
    
    		cmd.ExecuteNonQuery(); 
    	} 
    	
    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 2 de agosto de 2013 2:34