foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
// row[column] obtiene el valor de las columnas de la fila
row[column] = row[column].ToString().Replace('"', ' ').Trim();
row[column] = row[column].ToString().Replace(@"\", @" ").Trim();
}
}
foreach (DataRow row in dt.Rows)
ResponderEliminar{
ObtenerDatosFilial dato = new ObtenerDatosFilial();
dato.strIdFilial = row["NombreColumna"].ToString();
dato.StrnombreFilial = row["NombreColumna"].ToString();
Lista.Add(dato);
}
excelente! lo voy a probar.
EliminarMe gustaría hacer esto pero en SQL espero y puedan ayudarme.
Eliminarsaludos!!
que es lo que quieres hacer?
EliminarLo que necesito hacer es recorrer una tabla en la cual se almacenan datos de facturación,pero necesito ir comparando entre celdas.
Eliminaren la tabla tengo tipo operacion, cliente, proveedor, edocument, subdivisión, factura(folio fiscal), entonces un cliente puede tener mas de una factura y los datos mencionados como tipo operacion cliente...etc serán iguales pero el campo factura es diferente, lo que intento hacer es que solo me ponga una sola vez los datos del cliente si es que tiene mas factura dejando las casillas de los campos en blanco y poniendo solamente la factura, espero y me haya explicado.
muy sencillo, puedes utlizar un cursor (o un ciclo while) e ir llenando una tabla temporal (@ o #), no se si me sigues la idea.
EliminarPARTE 1/2 (no me deja pegar todo el código, máximo 4096 caracteres)
ResponderEliminar---
SELECT *
FROM leasecom..v_clientes a
INNER JOIN leasecom..t_direcciones b ON a.rut = b.rut_origen
WHERE a.rut = 96928510
---
CREATE TABLE #TEMPORAL
(
rut INT ,
dv VARCHAR(1) ,
nombre VARCHAR(200) ,
ejecutivo_cartera INT ,
cod_act_eco INT ,
giro VARCHAR(200) ,
fecha_constitucion DATETIME ,
email VARCHAR(200) ,
telefono_1 VARCHAR(200) ,
contacto VARCHAR(200) ,
direccion VARCHAR(500) ,
cod_comuna INT ,
id_cliente_banco INT ,
cod_oficina_leasing INT ,
cod_origen INT ,
rut_origen INT ,
cod_tipo_direccion INT ,
correlativo INT ,
direccion2 VARCHAR(500) ,
comuna INT ,
email2 VARCHAR(500) ,
telefono VARCHAR(200) ,
telefono2 VARCHAR(200) ,
fax VARCHAR(200) ,
estado INT
)
DECLARE @rut INT ,
@dv VARCHAR(1) ,
@nombre VARCHAR(200) ,
@ejecutivo_cartera INT ,
@cod_act_eco INT ,
@giro VARCHAR(200) ,
@fecha_constitucion DATETIME ,
@email VARCHAR(200) ,
@telefono_1 VARCHAR(200) ,
@contacto VARCHAR(200) ,
@direccion VARCHAR(500) ,
@cod_comuna INT ,
@id_cliente_banco INT ,
@cod_oficina_leasing INT ,
@cod_origen INT ,
@rut_origen INT ,
@cod_tipo_direccion INT ,
@correlativo INT ,
@direccion2 VARCHAR(500) ,
@comuna INT ,
@email2 VARCHAR(500) ,
@telefono VARCHAR(200) ,
@telefono2 VARCHAR(200) ,
@fax VARCHAR(200) ,
@estado INT
DECLARE c_ejemplo CURSOR
FOR
SELECT *
FROM leasecom..v_clientes a
INNER JOIN leasecom..t_direcciones b ON a.rut = b.rut_origen
WHERE a.rut = 96928510
OPEN c_ejemplo
FETCH c_ejemplo
INTO @rut, @dv, @nombre, @ejecutivo_cartera, @cod_act_eco, @giro,
@fecha_constitucion, @email, @telefono_1, @contacto, @direccion,
@cod_comuna, @id_cliente_banco, @cod_oficina_leasing, @cod_origen,
@rut_origen, @cod_tipo_direccion, @correlativo, @direccion2, @comuna,
@email2, @telefono, @telefono2, @fax, @estado
WHILE ( @@FETCH_STATUS = 0 )
BEGIN
--INSTRUCCIONES
IF ( ( SELECT COUNT(*)
FROM #TEMPORAL
WHERE rut = @rut
) = 0 )
BEGIN
INSERT INTO #TEMPORAL
( rut ,
dv ,
nombre ,
ejecutivo_cartera ,
cod_act_eco ,
giro ,
fecha_constitucion ,
email ,
telefono_1 ,
contacto ,
direccion ,
cod_comuna ,
id_cliente_banco ,
cod_oficina_leasing ,
cod_origen ,
rut_origen ,
cod_tipo_direccion ,
correlativo ,
direccion2 ,
comuna ,
email2 ,
telefono ,
telefono2 ,
fax ,
estado
)
VALUES ( @rut ,
@dv ,
@nombre ,
@ejecutivo_cartera ,
@cod_act_eco ,
@giro ,
@fecha_constitucion ,
@email ,
@telefono_1 ,
@contacto ,
@direccion ,
@cod_comuna ,
@id_cliente_banco ,
@cod_oficina_leasing ,
@cod_origen ,
@rut_origen ,
@cod_tipo_direccion ,
@correlativo ,
@direccion2 ,
@comuna ,
@email2 ,
@telefono ,
@telefono2 ,
@fax ,
@estado
)
END
Parte 2/2 Esto se me ocurre abordandolo de forma rapida, pero como siempre deben haber otros caminos.-
ResponderEliminarELSE
BEGIN
INSERT INTO #TEMPORAL
( rut ,
dv ,
nombre ,
ejecutivo_cartera ,
cod_act_eco ,
giro ,
fecha_constitucion ,
email ,
telefono_1 ,
contacto ,
direccion ,
cod_comuna ,
id_cliente_banco ,
cod_oficina_leasing ,
cod_origen ,
rut_origen ,
cod_tipo_direccion ,
correlativo ,
direccion2 ,
comuna ,
email2 ,
telefono ,
telefono2 ,
fax ,
estado
)
VALUES ( NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
@cod_origen ,
@rut_origen ,
@cod_tipo_direccion ,
@correlativo ,
@direccion2 ,
@comuna ,
@email2 ,
@telefono ,
@telefono2 ,
@fax ,
@estado
)
END
FETCH c_ejemplo
INTO @rut, @dv, @nombre, @ejecutivo_cartera, @cod_act_eco, @giro,
@fecha_constitucion, @email, @telefono_1, @contacto, @direccion,
@cod_comuna, @id_cliente_banco, @cod_oficina_leasing, @cod_origen,
@rut_origen, @cod_tipo_direccion, @correlativo, @direccion2,
@comuna, @email2, @telefono, @telefono2, @fax, @estado
END
CLOSE c_ejemplo
DEALLOCATE c_ejemplo
SELECT ISNULL(rut, '') ,
ISNULL(dv, '') ,
ISNULL(nombre, '') ,
ISNULL(ejecutivo_cartera, '') ,
ISNULL(cod_act_eco, '') ,
ISNULL(giro, '') ,
ISNULL(fecha_constitucion, '') ,
ISNULL(email, '') ,
ISNULL(telefono_1, '') ,
ISNULL(contacto, '') ,
ISNULL(direccion, '') ,
ISNULL(cod_comuna, '') ,
ISNULL(id_cliente_banco, '') ,
ISNULL(cod_oficina_leasing, '') ,
cod_origen ,
rut_origen ,
cod_tipo_direccion ,
correlativo ,
direccion2 ,
comuna ,
email2 ,
telefono ,
telefono2 ,
fax ,
estado
FROM #TEMPORAL
DROP TABLE #TEMPORAL