• Domingo 17 de Noviembre de 2024, 15:48

Mostrar Mensajes

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


Mensajes - JaviMarciano

Páginas: 1 [2] 3 4
26
C# / Tamaño Autoajustable de formulario
« en: Viernes 9 de Abril de 2010, 16:20 »
Hola miembros del foro:
Se puede hacer que el formulario se ajuste a la pantalla según la configuración de Resolución que tenga
y los controles se ajusten a este?

27
C# / Re: SQL Server y c#
« en: Jueves 8 de Abril de 2010, 17:03 »
Cita de: "eltruhanero"
Hola, eso se debe hacer siempre? No te sirve implementar esa insercion q depende del id del producto con un trigger?

Bueno si eso no sirve avisa y vemos una solucion alternativa.

Saludos, Daniel

Hola Daniel, si creo que sería lo mejor con un trigger, porque cada vez que se inserta un registro en T_Productos debe insertarse uno en T_Fechas
pero el tema es que no tengo idea como se hace uno

T_Productos:
Id_Producto
Cod_Producto
Nombre

................

T_Fechas:
Id_Producto
Fecha_Entrada
Fecha_Salida

Código: C#
  1.  public void Insertar_Producto()
  2.         {
  3.             try
  4.             {
  5.                 SqlCommand cmd = new SqlCommand("sp_Insertar_Producto",con.Conexion);
  6.                 cmd.CommandType=CommandType.StoredProcedure;
  7.                
  8.                 cmd.Parameters.Add(new SqlParameter("@Cod_Producto", SqlDbType.VarChar));
  9.                 cmd.Parameters["@Cod_Producto"].Direction= ParameterDirection.Input;
  10.                 cmd.Parameters["@Cod_Producto"].Value=s_Cod_Producto;
  11.  
  12.                 cmd.Parameters.Add(new SqlParameter("@Nombre",SqlDbType.VarChar));
  13.                 cmd.Parameters["@Nombre"].Direction=ParameterDirection.Input;
  14.                 cmd.Parameters["@Nombre"].Value=s_Nombre;
  15.    
  16.                 con.Open();
  17.                 cmd.ExecuteNonQuery();
  18.                 con.Close();
  19.  
  20.  
  21.                 SqlCommand cmd_Id = new SqlCommand("sp_Productos_Last_ID", con.Conexion);
  22.                 cmd_Id.CommandType = CommandType.StoredProcedure;
  23.                 con.Open();
  24.                 int  ID=Convert.ToInt32(cmd_Id.ExecuteScalar());
  25.                 con.Close();
  26.  
  27.  
  28.                 SqlCommand cmd1 = new SqlCommand("sp_Fechas_Insertar", con.Conexion);
  29.                 cmd1.CommandType = CommandType.StoredProcedure;
  30.  
  31.                 cmd1.Parameters.Add(new SqlParameter("@Id_Producto", SqlDbType.Int));
  32.                 cmd1.Parameters["@Id_Producto"].Direction = ParameterDirection.Input;
  33.                 cmd1.Parameters["@Id_Producto"].Value = ID;
  34.                
  35.  
  36.                 cmd1.Parameters.Add(new SqlParameter("@Fecha_Entrada", SqlDbType.DateTime));
  37.                 cmd1.Parameters["@Fecha_Entrada"].Direction = ParameterDirection.Input;
  38.                 cmd1.Parameters["@Fecha_Entrada"].Value = dt_Fecha_Entrada;
  39.  
  40.                 con.Open();
  41.                 cmd1.ExecuteNonQuery();
  42.                 con.Close();
  43.             }
  44.             catch (Exception ex)
  45.             {
  46.                 MessageBox.Show(ex.Message);
  47.                 con.Close();
  48.             }
  49.  
  50.         }
  51.  
  52.  
  53.  

Como veras la manera en que lo solucione es hacer una consulta y obtener el último Id de la tabla Producto a este le sumo 1 y
con ese registro hago la inserción en T_Fechas
pero como tu dices creo que la mejor forma sería con un trigger
puedes darme una idea de como hacerlo

28
C# / SQL Server y c#
« en: Lunes 5 de Abril de 2010, 17:21 »
Hola miembros del Foro:

estoy tratando de aprender SQL Server y c#

Código: C#
  1.  SqlCommand cmd = new SqlCommand("sp_Insertar_Producto",con.Conexion);
  2.                 cmd.CommandType=CommandType.StoredProcedure;
  3.                
  4.                 cmd.Parameters.Add(new SqlParameter("@Cod_Producto", SqlDbType.VarChar));
  5.                 cmd.Parameters["@Cod_Producto"].Direction= ParameterDirection.Input;
  6.                 cmd.Parameters["@Cod_Producto"].Value=s_Cod_Producto;
  7.  
  8.                 cmd.Parameters.Add(new SqlParameter("@Nombre",SqlDbType.VarChar));
  9.                 cmd.Parameters["@Nombre"].Direction=ParameterDirection.Input;
  10.                 cmd.Parameters["@Nombre"].Value=s_Nombre;
  11.  
  12.                 cmd.Parameters.Add(new SqlParameter("@Descripcion",SqlDbType.VarChar));
  13.                 cmd.Parameters["@Descripcion"].Direction=ParameterDirection.Input;
  14.                 cmd.Parameters["@Descripcion"].Value=s_Descripcion;
  15.  
  16.                 con.Open();
  17.                 cmd.ExecuteNonQuery();
  18.                 con.Close();
  19.  
  20.    
  21.  



Código: SQL
  1. SET ANSI_NULLS ON
  2. SET QUOTED_IDENTIFIER ON
  3. GO
  4. ALTER PROCEDURE [dbo].[sp_Insertar_Producto]
  5.            
  6.             @Cod_Producto VARCHAR (50)
  7.            ,@Nombre VARCHAR (50)
  8.            ,@Descripcion VARCHAR (50)
  9.  
  10. AS
  11. INSERT INTO [Base].[dbo].[T_Productos]
  12.            ([Cod_Producto]
  13.            ,[Nombre]
  14.            ,[Descripcion]
  15.  
  16.      VALUES
  17.            (@Cod_Producto
  18.            ,@Nombre
  19.            ,@Descripcion
  20.  
  21.  

El problema está en:

Nesesito que al cargar estos datos en la Taba: T_Productos me cargue en la tabla T_Fechas un registro que contiene el Id_Producto
Fecha_Entrada

el Id_Producto de la Tabla T_Producto es primary key y Autoincremental

como puedo recuprrar ese Id cuando hago el ingreso para usarlo en el ingreso de la Tabla T_Fechas

No se tal vez se puede agregar un parametro de salida al Procedimiento Almacenado que me entregue el Id al Hacer el Insert Into?
de forma se haría eso?

29
C# / Re: Formulario Activo
« en: Sábado 3 de Abril de 2010, 23:35 »
Cita de: "eltruhanero"
Hola, investiga la funcion Form.ShowDialog.

http://msdn.microsoft.com/en-us/library/c7ykbedk.aspx

Saludos, Daniel.

Perfecto Daniel es justamente lo que quería!

Usted siempre atendo dando una mano
Muchas gracias

30
C# / Formulario Activo
« en: Sábado 3 de Abril de 2010, 21:52 »
Hola miembros del Foro!

Como se hace para que solo se pueda trabajar con el fomulario activo y los demás form que se encuentran atras no puedan accederse a menos que se cierre el activo

31
C# / Re: división con decimales
« en: Sábado 3 de Abril de 2010, 00:59 »
Oh lo siento era  A=Math.Round(A,2);

32
C# / división con decimales
« en: Sábado 3 de Abril de 2010, 00:52 »
Hola necesito dividir dosnúmero del tipo decimal y me está devolviendo muchos decimales (me refiero a después de la coma)

Código: C#
  1.        decimal A = Convert.ToDecimal(textBox1.Text);
  2.                     TextBox2.Text=Convert.ToString(A/(1.21m));
  3.  

hay alguna función para redondear este número para que tenga solo dos decimales
o hay otra forma de hace lo que estoy haciendo

33
SQL Server / Re: OBTENER REGISTRO POR MESES
« en: Viernes 2 de Abril de 2010, 16:11 »
Hey hsm tal vez te pueda servir esto:

DatePart("m",fecha)

esta función te devuelve el mes de una fecha determinada
 
DatePart("yyyy",fecha) Te devuelve el año

Aquí te paso un ejemplo:

me devuelve los meses de las fechas que contiene el campo Fecha_Ingreso de la Tabla T_Productos

Select DatePart("m",Fecha_Ingreso)from T_Productos


Espero te sea de ayuda, chau saludos!

34
SQL Server / Consulta SQL sin Repeticiones
« en: Viernes 2 de Abril de 2010, 00:56 »
Hola cuando hago una consulta de una Tabla Facturas que tiene varias lineas de detalle cada una
me muestra por ej.

Nro_Factura
...1
...1
...1

Detalle
...Pantalón
...Camisa
...Remera

se puede hacer que solo muestre una vez el número de factura como esto:

Nro_Factura        Detalle
..................................
1                        Pantalón
                          Camisa
                          Remera
..................................
2                        Campera
                          Pantalón
..................................

Espero que me entiendad

35
SQL Server / Re: Consulta de dos tablas
« en: Jueves 25 de Marzo de 2010, 22:34 »
Cita de: "F_Tanori"
Busca el que mejor le entiendas

http://www.google.com.mx/#hl=es&q=join+ ... abfe4cfc6d

Saludos

ok gracias

36
MySQL / Consulta de dos tablas
« en: Miércoles 24 de Marzo de 2010, 16:20 »
hola necesito hacer una consulta de las Tablas

Productos:
Id_Producto
Cod_Prod
Nombre
Descripcion
Fecha_Ingreso
Estado [en stock o Vendido (true, false)]

Ventas:
Id_Venta
Id_Producto
fecha_Venta

lo que necesito es saber que stock tenía para tal fecha
o sea que la fecha de ingreso sea menor que una fecha que le paso por parámetros
y que el id_Producto no esté en la tabla de Ventas
Espero que me puedan ayudar

37
SQL Server / Consulta de dos tablas
« en: Miércoles 24 de Marzo de 2010, 16:19 »
hola necesito hacer una consulta de las Tablas

Productos:
Id_Producto
Cod_Prod
Nombre
Descripcion
Fecha_Ingreso
Estado [en stock o Vendido (true, false)]

Ventas:
Id_Venta
Id_Producto
fecha_Venta

lo que necesito es saber que stock tenía para tal fecha
o sea que la fecha de ingreso sea menor que una fecha que le paso por parámetros
y que el id_Producto no esté en la tabla de Ventas
Espero que me puedan ayudar

38
MySQL / duda planteo base de datos
« en: Lunes 22 de Marzo de 2010, 01:58 »
Espero que me puedan ayudar:
para crear una tabla de productos: un campo es el precio NETO y también necesito el precio con IVA es aconcejable crear un nuevo campo con el precio IVA incluido o calcularlo cuando lo necesite para presentar los informes

39
SQL Server / planteo de base de datos
« en: Lunes 22 de Marzo de 2010, 01:57 »
Espero que me puedan ayudar:
para crear una tabla de productos: un campo es el precio NETO y también necesito el precio con IVA es aconcejable crear un nuevo campo con el precio IVA incluido o calcularlo cuando lo necesite para presentar los informes

40
C# / Re: Agregar una fila a un DataGridView de un DataSet
« en: Sábado 20 de Marzo de 2010, 14:02 »
Cita de: "eltruhanero"
Hola, el DataGridView tiene una propiedad DataSource a la cual le podes setear un origen de datos,por ejemplo una DataTable.

Fiajte:
http://msdn.microsoft.com/en-us/library ... ource.aspx
http://msdn.microsoft.com/en-us/library/fbk67b6z.aspx

Resulta complicado si solo tenes que desplegar ciertas celdas o no desplegar ciertas celdas...a menos que todas esas celdas se correspondan con una columna especifica  :P

Para agregar datos a un datagridview siempre trata de usar DataSource en vez de agregar como mostras en el codigo.

Saludos, Daniel.

Hola Daniel!
muchas gracias por la respuesta, lo que pasa que el dataSet contiene el resultado de una Consulta y solo necesito agregar el primer registro no todo el contenido

41
C# / Agregar una fila a un DataGridView de un DataSet
« en: Sábado 20 de Marzo de 2010, 02:57 »
Hola necesito agregar filas de un dataSet a una grilla

lo hago de esta manera celda por celda:

Código: C#
  1. dgv_Carrito.Rows.Add(ds.Tables[0].Rows[0]["Cod_Producto"]);
  2.             dgv_Carrito.Rows.Add(ds.Tables[0].Rows[0]["PrecioVenta"])
  3. .
  4. .
  5. .
  6. //con todos los registros
  7.  
  8.  

o para agregar toda la fila:
Código: C#
  1. dgv_Carrito.Rows.Add(ds.Tables[0].Rows[0].ItemArray);
  2.  

Esto último me funciona bien el problema está cuando una de las celdas de la fila no quiero agregarla
Hay alguna otra forma de hacerlo (el ds es lógico)

42
C# / Re: Consulta SQL y C#
« en: Viernes 19 de Marzo de 2010, 22:39 »
Cita de: "eltruhanero"
Hola, por el lado de resultados es lo mismo.

Lo primero que se me ocurre es que te inyecten codigo sql: http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL
Por eso siempre es preferible usar SqlParameter.

Ademas de que si precisas cambiar la cadena "SELECT...." tendrías que recompilar el codigo...bueno a menos que la pongas en algun archivo de configuracion aunque no me parece adecuado.

Por el lado de performance me imagino es igual.

Saludos! Daniel.

ok Daniel se te Agradece mucho la ayuda!

43
SQL Server / campo cantidad o registros individuales
« en: Viernes 19 de Marzo de 2010, 21:00 »
Hola tengo una duda con lo sig.
Si tengo una base de datos productos por ej muebles, y necesito hacer el ingreso de 10 sillas tengo que crear un reg de ese producto que tenga un campo cantidad o tengo que hacer 10 ingresos diferentes cada uno con su id correspondiente

44
C# / Re: Consulta SQL y C#
« en: Viernes 19 de Marzo de 2010, 20:42 »
Cita de: "eltruhanero"
Hola no lo compile pero seria algo así:

Código: C#
  1.  
  2. public DataSet Consulta()
  3.         {
  4.             DataSet ds = new DataSet();
  5.             string connectionString = "";
  6.             SqlConnection conn = new SqlConnection(connectionString);
  7.             conn.Open();
  8.  
  9.             SqlCommand cmd = new SqlCommand("sp_Consulta_Personal",conn);
  10.             cmd.CommandType = CommandType.StoredProcedure;
  11.             cmd.Parameters.AddWithValue("nombre_parametro","valor_parametro");
  12.  
  13.             SqlDataAdapter Da = new SqlDataAdapter(cmd);
  14.             Da.Fill(ds, "T_Personal");
  15.  
  16.             return ds;
  17.         }
  18.  
  19.  

excelente es justo lo que quería hacer anda perfecto!muchas gracias
ahora cual es la diferencia de hacerlo de esa forma y la sig:
Código: C#
  1.  
  2.  DataSet ds = new DataSet();
  3.             SqlDataAdapter Da = new SqlDataAdapter("Select...         ", con.Conexion);
  4.             Da.Fill(ds, "T_Personal");
  5.             return ds;
  6.  

donde paso directamente la cadena con la instrucción SQL

45
C# / Consulta SQL y C#
« en: Jueves 18 de Marzo de 2010, 23:42 »
Hola tengo un problema con una consulta a una base de datos de SQL desde c#

Para realizar una consulta realizo lo siguiente
Código: C#
  1.  public DataSet Consulta()
  2.         {
  3.             DataSet ds = new DataSet();
  4.             SqlDataAdapter Da = new SqlDataAdapter("sp_Consulta_Personal", con.Conexion);
  5.  
  6.             Da.Fill(ds, "T_Personal");
  7.             return ds;
  8.  
  9.         }
  10.  
Hasta ahí de 10

Utilizo el Procedimiento almacenado:sp_Consulta_Personal
Código: SQL
  1. SET ANSI_NULLS ON
  2. SET QUOTED_IDENTIFIER ON
  3. GO
  4. ALTER PROCEDURE [dbo].[sp_Consulta_Personal]
  5.  
  6. AS
  7. SELECT *
  8.   FROM [Personal].[dbo].[T_Personal]
  9.  
  10.  

 
Pero no se como hacer cuando necesito pasarle un parametro al procedimiento almacenado.
Creo que el SP sería algo ASí:

Código: SQL
  1. SET ANSI_NULLS ON
  2. SET QUOTED_IDENTIFIER ON
  3. GO
  4. ALTER PROCEDURE [dbo].[sp_Consulta_Codigo]
  5.         (@Cod_Producto VARCHAR(50))
  6. AS
  7.  
  8. SELECT
  9.  
  10.       [Nombre]
  11.       ,[Descripcion]
  12.       ,[PrecioVenta]
  13.  
  14.   FROM [Base].[dbo].[T_Productos]
  15.  
  16. WHERE Cod_Producto=@Cod_Producto
  17.  
  18.  

pero como le paso el parámetro que necesita el SP????

46
C# / Re: Cambiar entre textbox al pulsar enter
« en: Jueves 18 de Marzo de 2010, 23:31 »
Cita de: "eltruhanero"
Lo que se me ocurre es obtener por Reflection los textBox definidos en el Form y  aplicar el Focus al que corresponda.

Para setear el recorrido del focus al apretar "Enter" podrias usar TextBox.TabIndex.

O sea si estas en el textBox que tiene seteado TabIndex = x, buscas el que tenga seteado TabIndexx+1 y a ese aplicas el Focus.

Se entiende?

Daniel.

Ok voy a probar y después cuento, Gracias

47
C# / Re: Cambiar entre textbox al pulsar enter
« en: Miércoles 17 de Marzo de 2010, 12:35 »
Cita de: "JaviMarciano"
Código: C#
  1. private void textBox1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.KeyValue == 'r')
  4.                 textBox2.Focus();
  5.         }
  6.  

oooh! ya está  Trabajando con el evento keyDown

Teniendo esto listo surge una nueva duda:

tengo 10 textBox y necesito hacer lo mismo para los 10 como puedo ahorrar lineas de código?
se  puede hacer un método y pasar el control por parámetro o algo así?

48
C# / Re: Cambiar entre textbox al pulsar enter
« en: Miércoles 17 de Marzo de 2010, 12:13 »
Código: C#
  1. private void textBox1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.KeyValue == 'r')
  4.                 textBox2.Focus();
  5.         }
  6.  

oooh! ya está  Trabajando con el evento keyDown

49
C# / Cambiar entre textbox al pulsar enter
« en: Miércoles 17 de Marzo de 2010, 05:03 »
Hola Espero que me puedan dar una mano
No se donde estoy cometiendo un error
mi código es el siguiente:
Código: C#
  1.  private void textBox1_TextChanged(object sender,EventArgs e)
  2.         {
  3.            
  4.             if (e.Keychar == 'r')
  5.                 textBox2.Focus();
  6.         }
  7.  


Código: C#
  1. this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
  2.  
  3.  

Necesito desplazarme entre los textBox presionando la tecla Enter
El error que me arroja es el sig.
Citar
Error   1   'System.EventArgs' no contiene una definición para 'Keychar'

50
SQL Server / procedimiento almacenado modif
« en: Miércoles 10 de Marzo de 2010, 18:31 »
hola necesito un procedimiento almacenado para modificación de ejemplo

Páginas: 1 [2] 3 4