Visual CSharp .NET - Métodos genéricos guardar,modificar,eliminat

   
Vista:

Métodos genéricos guardar,modificar,eliminat

Publicado por Ana Castillo (1 intervención) el 09/11/2012 00:28:53
Buenas necesito ayuda urgente por favor tengo que realizar una aplicación en donde se utilice un único método de guardado y este consuma los demás métodos donde están los procedimientos almacenados me dicen que lo puedo hacer con uno que llame a un list donde estos se encuentra pero he buscado por todos lugares y no se cómo a serlo les agradezco si pueden darme informes en donde puedo encontrar esa información
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Métodos genéricos guardar,modificar,eliminat

Publicado por m (66 intervenciones) el 09/11/2012 17:23:13
Bueno pues primero
habria que ver como estas guardando,
agrega tu codigo o pon una liga para ver tu actual codigo con las llamadas
a tus stored procedures,
de esta manera podriamos encontrar un metodo para el guardado.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Métodos genéricos guardar,modificar,eliminat

Publicado por Ana Castillo (1 intervención) el 09/11/2012 17:56:50
este es el metodo que me esta fallando nesecito que no me lea el xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public string AcopleDatosCambios(string[] xDatos, string xNombreSp, string xConnString)
        {
            string resp = string.Empty; //respuesta para retornar
            valores = xDatos;
            string cadenaParametros = lecturaXML(xNombreSp); //Metodo lectura de xml con el nombre del sp
            if (cadenaParametros == string.Empty && xDatos[0] == string.Empty)
            {
                _dictionary = null;
                resp = _accesoADatos.genericInsert(_dictionary, xNombreSp, xConnString, 0);
            }
            else
            {
                if (cadenaParametros != string.Empty || xDatos[0] != string.Empty)
                {
                    parametros = cadenaParametros.Split(ResourceDataAccess.Split.ToCharArray());
                }
                if (valores.Count() == parametros.Count())
                    //Si esta correcto, deben tener la misma cantidad cada arreglo
                {
                    creacionDic(); //llena el diccionario
                    resp = _accesoADatos.genericInsert(_dictionary, xNombreSp, xConnString, 0);
                }
                else
                    resp = "Error, no concuerdan los parametros y los datos recibidos";
            }
 
            return resp;
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Métodos genéricos guardar,modificar,eliminat

Publicado por m (66 intervenciones) el 09/11/2012 20:17:28
Puedes usar el siguiente metodo
string cadenaParametros = GetParametrosStoredProcedure(xNombreSp);

donde GetParametros es:
1
2
3
4
5
6
7
8
9
10
11
public List<Parameter> GetParametrosStoredProcedure(string nombreSP)
{
     SqlConnection conn = new SqlConnection("tu cadena de conexion aca");
    SqlCommand cmd = new SqlCommand(nombreSP, conn);
    cmd.CommandType = CommandType.StoredProcedure;
 
    conn.Open();
    SqlCommandBuilder.DeriveParameters(cmd);
 
 return cmd.Parameters
}


//no esta probado pero es seguro que funcione

saludos y me avisas si esto te sirvio o estas buscando otra solucion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Métodos genéricos guardar,modificar,eliminat

Publicado por m (66 intervenciones) el 09/11/2012 20:22:10
lo olvide tu buscas una cadena con todos los parametros
en ese caso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public string GetParametrosStoredProcedure(string nombreSP)
{
SqlConnection conn = new SqlConnection("tu cadena de conexion aca");
SqlCommand cmd = new SqlCommand(nombreSP, conn);
cmd.CommandType = CommandType.StoredProcedure;
 
conn.Open();
SqlCommandBuilder.DeriveParameters(cmd);
 
string cadenaParametros=string.empty;
 
    foreach (SqlParameter p in cmd.Parameters)
    {
    //agregando el nombre del parametro separado por un espacio
      cadenaParametros +=cmd.p.ParameterName +" ";
    }
 
return cadenaParametros;
}


-------------
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar