Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - SRVAM

#51
buenas a todos!!

necesitaria vuestra ayuda, again. no se como hacer para filtrar un dataview con un intervalo de fechas, porque el rowfilter no admite el between de sql :(

cambie el codigo e hice lo siguiente, pero sigue sin funcionar. me dice que no es un formato de datetime valido.

Código (csharp) [Seleccionar]
        private void btn_buscar_Click(object sender, EventArgs e)
        {
            try
            {
                if (txt_buscar.Text != "" && txt_buscar2.Text != "")
                {
                    DataView filtro = new DataView(dt_Ganancias);

                    filtro.RowFilter = "Fecha >= #" + Convert.ToDateTime(txt_buscar.Text) + "# AND Fecha <= #" + Convert.ToDateTime(txt_buscar2.Text) + "#'";
                    dgv_Ganancias.DataSource = filtro;
                }
            }
            catch (Exception ex)
            {
            }
        }


espero que podai ayudar a hacer que funcione.

gracias por adelantado y saludos a todos
#52
ya lo he solucionado ;) cuando algun MOD lo vea que cierre el post ;)

nos vemos  ;D
#53
buenas. pues no se porque motivo, el data adapter no me actualiza la base de datos, pero tampoco me da ningun fallo -.-" no consigo encontrar la solucion.

espero que podais ayudarme.

aqui os pongo el codigo del evento del boton insertar y el del form load.

dt_Empleados --> DataTable
da_Empleados --> DataAdapter

Código (csharp) [Seleccionar]
private void Empleados_Load(object sender, EventArgs e)
       {
           try
           {
               str_conexion = TaxiGest.Properties.Settings.Default.cadena_conexion;
               conexion = new SqlCeConnection(str_conexion);
               conexion.Open();
               da_Empleados = new SqlCeDataAdapter("SELECT * FROM EMP_Empleados", conexion);
               dt_Empleados.Clear();
               da_Empleados.Fill(dt_Empleados);
               dgv_Empleados.DataSource = dt_Empleados;
               conexion.Close();

               campos = new TextBox [7] { txt_dni, txt_nombre, txt_apellidos, txt_telefono, txt_telefonomovil, txt_segsocial, txt_fechaalta};
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
               menu_salir_Click(null, null);
           }
       }


Código (csharp) [Seleccionar]
       private void btn_insertar_Click(object sender, EventArgs e)
       {
           DataRow nuevo_empleado;
           nuevo_empleado = dt_Empleados.NewRow();

           try
           {
               if (campos[0].Text == "" || campos[1].Text == "" || campos[2].Text == "" || campos[5].Text == "" || campos[6].Text == "")
               {
                   MessageBox.Show("Se ha producido un error al agregar un nuevo empleado. Revise los datos introducidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                   return;
               }
               for (index = 0; index < dt_Empleados.Columns.Count; index++)
               {
                   nuevo_empleado[index] = campos[index].Text;
               }

               dt_Empleados.Rows.Add(nuevo_empleado);
               dt_Empleados.AcceptChanges();
               //NO GUARDA LOS CAMBIOS EN LA BASE DE DATOS
               da_Empleados.Update(dt_Empleados.Select(null, null, DataViewRowState.CurrentRows));
               vaciar_campos();
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message + "Se ha producido un error al agregar un nuevo empleado. Revise los datos introducidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
           }
       }


cualquier critica es bien recibida ;)

un saludo, y gracias por adelantado ^^
#54
yo creo que el Data Source si es necesario, porque si no lo pongo me ad un castañazo  :rolleyes:

el programa no sabe en que instancia debe buscarlo... quiza haya una forma de ponerlo para que sea mas.. generico, pero no se como hacerlo jajaja

mirare el SQL COMPACTv  ;D
#55
muchas gracias Noclucker, eso era justo lo que necesitaba  ;-)

gracias y perdona las molestias jeje

nos leemos ;)
#56
si utilizo sql lite podria hacerlo sin tener que usar la instancia del server?

una pregunta un poco tonta, para usar sql lite con C# se hace igual que para sql server no??

using System.data.sqlclient; no??

si se peude hacer asi con sql lite lo hare con el ^^

espero te respuesta novlucker, y muchas gracias por la ayuda tio  ;-)
#57
mmm... esta bien asi, pero no me sirve, porque es una aplicacion para un unico usuario, que no tendra internet. asi que la base de datos estara en el equipo local, y no estara instalado sql server.

deberia poder abrir el archivo de base de datos sin necesidad de conectarme a un servidor de sql server no? o no es posible hacer eso??
#58
muchas gracias novlucker

ey tio, yo no quiero hacerlo de la forma mas fea, te agradezco el consejo de antes de verdad, pero no se como hacer la cadena de conexion en un archio app.config de forma que no haga falta tener instalado el sql server en el equipo en el que se ejecutara la aplicacion.

pero me viene muy bien el consejo de usar el archivo config. pero todavia no se usarlo.

muchas gracias por la ayuda en serio ;)
#59
si si, pero aun asi, mi duda no es esa.
lo que necesito saber, es como hacer para que en la cadena de conexion, mi programa no busque un servidor de SQLEXPRESS para buscar ahi la base de datos.
si no que directamente se vaya a la ruta donde se ejecuta el programa, y abra la base de datos que es ahi.
#60
no no, la cadena la tengo en codigo, la cree con el asistente del visual studio.

esa exactamente es la cadena que tengo en el archivo app.config