• Martes 19 de Marzo de 2024, 05:40

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.


Temas - ProfesorX

Páginas: [1]
1
SQL Server / Consulta para obtener el pago mas retrasado
« en: Jueves 7 de Noviembre de 2013, 01:38 »
Por lo regular yo soy el que da asistencia, pero ahora me toca que me den asistencia a mi XD.

Tengo la siguiente tabla en SQL Server:

Código: [Seleccionar]
create table creditos_abonos
(
contrato_id int not null,
semana int not null,
interes decimal (18,2) not null default 0,
abono decimal (18,2) not null default 0,
iva decimal (18,2) not null default 0,
fecha_pago datetime not null default getdate(),
pagado bit not null default 0,
)

Un ejemplo de los valores de la tabla:

contrato_id   semana   interes   abono   iva   fecha_pago   pagado
5   6   217.50   906.25   34.80   2013-04-30 00:00:00.000   1
5   7   217.50   906.25   34.80   2013-05-07 00:00:00.000   1
5   8   217.50   906.25   34.80   2013-05-14 00:00:00.000   0
5   9   217.50   906.25   34.80   2013-05-21 00:00:00.000   0
5   10   217.50   906.25   34.80   2013-05-28 00:00:00.000   0
9   9   67.50   281.25   10.80   2013-04-30 00:00:00.000   0
9   10   67.50   281.25   10.80   2013-05-07 00:00:00.000   0

Yo lo que quiero es una consulta que me de la semana mas atrasada en pago de todos los contratos, en este caso se considera pagada cuando el campo pago = 1 y no pagada cuando pago = 0

o sea en base a lo anterior necesito que me regrese lo siguiente

contrato_id   semana   interes   abono   iva   fecha_pago   pagado
5   8   217.50   906.25   34.80   2013-05-14 00:00:00.000   0
9   9   67.50   281.25   10.80   2013-04-30 00:00:00.000   0

Tengo la siguiente consulta
Código: [Seleccionar]
select
top 1
b.contrato_id, b.semana, b.interes, b.abono, b.iva, fecha_pago, pagado
from creditos_abonos as b
where pagado = 0
and fecha_pago < '24/08/2013'
and contrato_id = 5
order by contrato_id, semana;

El problema es que solo me regresa la semana mas atrasada de un solo contrato, en este caso el numero 5, y yo necesito la mas atrasada de todos los contratos de la tabla. Lo que he hecho es por medio de un ciclo dentro de un programa, revisar todas las filas de la tabla, cambiando el valor de la condicion contrato_id = 5, pero siento que es un metodo muy ineficiente. Si alguien tiene la manera de obtenerlo por medio de una sola consulta SQL me pareceria excelente.

Gracias de antemano =)

2
C# / Ejemplo BindingSource Y ErrorProvider En C#
« en: Miércoles 24 de Abril de 2013, 03:27 »
Aqui dejo un sencillo ejemplo para utilizar el BindingSource Y el ErrorProvider, esta codificado en Visual C# 2010, y utiliza Conexion con SQL Server, pero debe ser facilmente modificable para utilizar cualquier conector, espero les sea de utilidad :)

3
C# / MOVIDO: donde se almacenan los archivos temporalmente
« en: Lunes 29 de Agosto de 2011, 03:38 »
El tema no es especifico de programacion en C#

Movido a Dudas Informaticas:

http://solocodigo.com/47037/donde-se-almacenan-los-archivos-temporalmente/

4
Hola IronMan, la pagina de solo codigo ha quedado bastante bien, sin embargo, hay algunas cosas que no me agradaron mucho, en especial que ahora los foros son SMF en lugar de phpBB, en lo personal prefiero mil veces los foros phpBB, no se porque, la interfaz de los foros SMF no me agrada mucho, bueno esa es mi opinion personal, pero bueno, dejando eso de lado, pondre los detalles que no me agradan, las opciones que no encuentro, a ver si me dices como hacerlo, o si se puede cambiar.

1. Ahora los foros aparecen bajo el nombre de "comunidad", quizas sea cosa de acostumbrarse, pero al menos en mi caso no encontraba como entrar a los foros  :whistling:, quizas sea mejor cambiar el menu de comunidad por foros.

2. No encuentro como personalizar la manera en que me aparece la fecha, las horas aparecen en formato 00:00-24:00, me agrada mas en formato am/pm, no se si se pueda personalizar.

3. No encotre como seleccionar el codigo en etiquetas [ code ], si elijo una etiqueta con un lenguaje especifico para el coloreado de sintaxis, te dejo el ejemplo, para que veas a que me refiero:

Código: [Seleccionar]
#include <cstdio>
Código: C++
  1. #include <cstdio>

4. La opcion de mensajes nuevos no leidos desde la ultima visita (nuevos temas), la lista se borra demasiado rapido, si accidentalemnte elijo la opcion de recargar la pagina, los mensajes que no he leido se borran de la lista, aun cuando valga la redundancia no los haya ledio aun  :ball:, eso hace que el seguimiento de los temas que vas contestando sea mas dificil, pues si se borra la lista, debes entrar a cada subforo para ver que mensajes aun no lees/contestas, quitando toda utilidad a la opcion de nuevos mensajes

Bueno, esos son los detalles que note, si sabes como puedo hacer para hacer lo que quiero, o si se puede corregir, sere feliz, si no, pues como dije antes tendremos que irnos acostumbrando  :whistling:

Saludos :)

5
Bueno antes que nada para ponerlo en contexto, dire que vivo en Mexico, soy profesional independiente (Lic en Informatica), y actualmente estoy buscando trabajo fijo en alguna empresa, asi que deje mi curriculum en una de esas paginas de empleo.

Hatsa ahora solo me habian llegado correos en los que te piden dinero para realizar un examen medico antes de que te den el puesto, fraudes a todas luces, ya que incluso son correos con remitente en gmail XD

Pero hoy me llegaron 2 correos de una empresa llamada tesis.com, incluso tienen pagina web, y segun dicen se han tratado de comunicar conmigo por telefono, lo raro es que no he recibido ninguna llamada y en casa siempre hay alguien para contestar mi telefono aunque no este.

Me enviaron unos formularios para que los llene, y hasta ahorita no me han pedido dinero, pero dado que los formularios me estan pidiendo informacion muy detallada de mi persona, y los que vivimos en Mexico sabemos lo "caliente" que esta la cosa por aca, como para dar tu informacion personal, quiero sabes si alguien mas sabe algo de esta empresa, ¿es real? ¿o solo otro fraude mas elaborado hasta ahora?

Dejo a continuacion uno de los correos que me llegaron, eliminando algunas partes.

Citar
Estimado xxxxx,
Buen día, hemos localizado tu CV en la página de xxxxx,  estamos interesados en platicar contigo sobre nuestras ofertas, debido a que deseamos que asistas a una entrevista en xxxxx el dìa Viernes a las 9 am, y queríamos conocer tu disponibilidad. Te agradecería que me proporciones algún teléfono para contactarme contigo y me indiques día y hora en que podamos llamarte para realizar una entrevista telefónica.
 
Brevemente te comento que actualmente nos encontramos en un fuerte periodo de expansión, mismo que va de  la mano de vacantes en el área de Automatización, para ello estamos requiriendo recursos que cubran con el perfil de Programadores.NET.

Para dar continuidad al proceso  se requiere de un formato de ingreso, un estudio de entorno y formato de sistemas  los  cuales anexo al presente para que  devuelvas a este mi correo. Así mismo te pido envíes tus respuestas con copia a las Lic. xxxxx y a la Lic. xxxxx del Departamento de Recursos Humanos así como tu CV actualizado  para que  podamos dar seguimiento a tu caso.

A tus órdenes y quedo en espera de tu respuesta.

Te pido confirmes la recepción de los formatos y envíes a la brevedad.

Me encuentro a la orden.

Saludos Cordiales

http://www.tesis.com

Si alguien sabe sobre este empresa, le agradeceria que me diera su opinion.

Saludos :)

6
SQL Server / Crear una tabla con totales
« en: Lunes 30 de Mayo de 2011, 07:10 »
Bueno, ahora es mi turno de pedir ayuda, a ver si alguien me puede ayudar.

Mi problema consiste en lo siguiente, necesito sacar un total de clientes activos e inactivos por colonia, en una sola tabla, de tal forma que quede de la siguiente manera:

Código: Text
  1.  
  2. Colonia Activos Inactivos
  3. A          2         9
  4. B          0         2
  5. C          0         1
  6. D          1         1
  7.  
  8.  

Actualmente saco la informacion de 2 tablas (clientes y contrato), y tengo que crear 3 tablas de la siguiente manera:

Código: SQL
  1.  
  2. -- Creacion de la tabla activos
  3. DROP TABLE colonia_activos
  4. SELECT c1.colonia, COUNT(DISTINCT c1.id) AS activos
  5. INTO colonia_activos
  6. FROM clientes AS c1
  7. INNER JOIN contrato AS c2
  8. ON c1.id = c2.cliente
  9. WHERE c2.cerrado = 0
  10. GROUP BY c1.colonia
  11.  
  12. -- Creacion de la tabla inactivos
  13. DROP TABLE colonia_inactivos
  14. SELECT c1.colonia, COUNT(DISTINCT c1.id) AS inactivos
  15. INTO colonia_inactivos
  16. FROM clientes AS c1
  17. INNER JOIN contrato AS c2
  18. ON c1.id = c2.cliente
  19. WHERE c2.cliente NOT IN
  20. (SELECT cliente FROM contrato WHERE cerrado = 0)
  21. GROUP BY c1.colonia
  22.  
  23. -- Creacion de la tabla totales
  24. DROP TABLE colonia_totales
  25. SELECT DISTINCT c1.colonia, c2.activos, c3.inactivos
  26. INTO colonia_totales
  27. FROM clientes AS c1
  28. LEFT JOIN colonia_activos AS c2
  29. ON c1.colonia = c2.colonia
  30. LEFT JOIN colonia_inactivos AS c3
  31. ON c1.colonia = c3.colonia
  32. ORDER BY c1.colonia
  33.  
  34. UPDATE colonia_totales
  35. SET activos = 0
  36. WHERE activos IS NULL
  37. UPDATE colonia_totales
  38. SET inactivos = 0
  39. WHERE inactivos IS NULL
  40. SELECT * FROM colonia_totales
  41.  
  42.  

Quisiera saber si es posible sacar esta informacion creando esa ultima tabla de totales, de una manera mas simple, sin tener que crear 2 tablas intermedias.

Intente lo siguiente:

Código: SQL
  1.  
  2. SELECT c1.colonia,
  3. COUNT(DISTINCT c2.cliente) AS activos,
  4. COUNT(DISTINCT c3.cliente) AS inactivos
  5. FROM clientes AS c1
  6. INNER JOIN contrato AS c2
  7. ON c1.id = c2.cliente
  8. INNER JOIN contrato AS c3
  9. ON c1.id = c3.cliente
  10. WHERE c2.cerrado = 0
  11. OR
  12. c3.cliente NOT IN
  13. (SELECT cliente FROM contrato WHERE cerrado = 0)
  14. GROUP BY c1.colonia
  15. ORDER BY c1.colonia
  16.  
  17.  

Pero ademas de que la consulta demora 15 segundos, a diferencia de las anteriores, que hace todo en 2 segundos, no me arroja el resultado correcto, sino que me arroja la suma de activos e inactivos, de la siguiente manera:

Código: Text
  1.  
  2. Colonia Activos Inactivos
  3. A          11       11
  4. B          2         2
  5. C          1         1
  6. D          2         2
  7.  
  8.  

Pero eso mismo ya lo obtengo de manera mas eficiente (un segundo) de la siguiente manera:

Código: SQL
  1.  
  2. SELECT c1.colonia, COUNT(DISTINCT c1.id) AS total
  3. FROM clientes AS c1
  4. INNER JOIN contrato AS c2
  5. ON c1.id = c2.cliente
  6. GROUP BY c1.colonia
  7. ORDER BY c1.colonia
  8.  
  9.  

Repito mi pregunta, alguna idea para sacar el resultado de totales que deseo, sin tener que crear 3 tablas intermedias?

Uso SQL Server 2000

Saludos :)

7
C# / Insertar Columna en un DataGridView lleno previamente.
« en: Miércoles 3 de Septiembre de 2008, 02:26 »
Tengo un problema que no he podido resolver, resulta que tengo un DataGridView que lleno previamente mediante un DataTable que obengo de una base de datos, y quiero añadirle una columna extra en la que calcule el 15% de impuesto. El problema es que aunque añado la columna, y despues recorro las filas con un foreach para llenar las celdas, al despelgar el DataGridView en el formulario, esta columna me aparece vacia. A pesar de que ya comprobe que la celda tiene un valor en el debugger.

Ojala y alguien me pudiera explicar el porque, y si hay una solucion, que no sea añadir un campo extra a la B.D.

Código: C#
  1.  
  2.         private void ChildFormArticuloslectura_Load(object sender, EventArgs e)
  3.         {
  4.             tablaExistencias = articulos.ObtenerExistencias();
  5.  
  6.             dgvArticulos.DataSource = tablaExistencias;
  7.             dgvArticulos.Columns[0].HeaderText = "CLAVE ARTICULO";
  8.             dgvArticulos.Columns[1].HeaderText = "DESCRIPCION";
  9.             dgvArticulos.Columns[2].HeaderText = "IDENTIFICACION";
  10.             dgvArticulos.Columns[3].HeaderText = "PRECIO COSTO";
  11.             dgvArticulos.Columns[3].DefaultCellStyle.Format = "C2";
  12.             dgvArticulos.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight;
  13.             dgvArticulos.Columns[4].HeaderText = "EXISTENCIAS";
  14.             dgvArticulos.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight;
  15.             dgvArticulos.Columns.Add("articulos_iva", "IVA");
  16.             foreach (DataGridViewRow row in dgvArticulos.Rows)
  17.             {
  18.                 row.Cells[5].Value = (decimal)(row.Cells[3].Value) * 0.15m;
  19.             }
  20.         }
  21.  
  22.  

8
Sobre los Foros de SoloCodigo / Desactivar email automatico al responder
« en: Jueves 26 de Junio de 2008, 19:17 »
Una pregunta, en este nuevo foro, cada vez que respondo o publico un mensaje en un hilo, me suscribe automaticamente, y me manda un mail cada vez que alguien responde en el mismo hilo, como lo puedo desactivar? estuve buscando y no encuentro como.

Saludos :hola:

9
C# / Traducir Una Plantilla De C++ A C#
« en: Jueves 28 de Junio de 2007, 04:31 »
Bueno, le he estado buscando, pero no le he dado en el clavo, y es que nunca entendi muy bien las plantillas avanzadas en C++  :unsure: . basicamente me gustaria que alguien me dijera a que traduce la siguiente plantilla:
Código: Text
  1.  
  2. class MemberFunctionSlot
  3. {
  4. public:
  5.   virtual ~MemberFunctionSlot() {};
  6.   virtual bool execute(const EventArgs& args) = 0;
  7. };
  8.  
  9. template&#60;typename T&#62;
  10. class MemberFunctionPointer :
  11.   public MemberFunctionSlot
  12. {
  13. public:
  14.   typedef bool (T::*MemberFunction)(const EventArgs&);
  15. public:
  16.   MemberFunctionPointer() :
  17.     d_undefined(true)
  18.   {}
  19.   MemberFunctionPointer(MemberFunction func, T* obj) :
  20.     d_function(func),
  21.     d_object(obj),
  22.     d_undefined(false)
  23.   {}
  24.   virtual ~MemberFunctionPointer() {}
  25.  
  26.   virtual bool execute(const EventArgs& args)
  27.   {
  28.     if(!d_undefined) return (d_object-&#62;*d_function)(args);
  29.     return false;
  30.   }
  31. protected:
  32.   MemberFunction  d_function;
  33.   T*        d_object;
  34.   bool      d_undefined;
  35. };
  36.  
  37.  

Aqui pongo la aproximacion que he hecho en C#:

Código: Text
  1.  
  2. public class MemberFunctionSlot
  3. {
  4.     public virtual bool execute(EventArgs args);
  5. }
  6.  
  7. public class MemberFunctionPointer&#60;T&#62; : MemberFunctionSlot
  8. {
  9.     public bool MemberFunction(EventArgs args);
  10.     public MemberFunctionPointer()
  11.     {
  12.         d_undefined(true);
  13.     }
  14.     public MemberFunctionPointer(MemberFunction func, T obj)//Esta linea me da error
  15.     {
  16.         d_function(func);
  17.         d_object(obj);
  18.         d_undefined(false);
  19.     }
  20.  
  21.     public virtual bool execute(EventArgs args)
  22.     {
  23.         if (!d_undefined) return (d_object.d_function)(args);
  24.         return false;
  25.     }
  26.     protected MemberFunction d_function;//esta linea me da error
  27.     protected T d_object;
  28.     protected bool d_undefined;
  29. }
  30.  
  31.  
El error que me marca es el siguiente:

Citar
C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\src2\QuickGUIMemberFunctionPointer.cs(36,38): error CS0118: 'Cm.QuickGUI.MemberFunctionPointer<T>.MemberFunction(System.EventArgs)' es 'método' pero se utiliza como 'tipo'
C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\src2\QuickGUIMemberFunctionPointer.cs(50,19): error CS0118: 'Cm.QuickGUI.MemberFunctionPointer<T>.MemberFunction(System.EventArgs)' es 'método' pero se utiliza como 'tipo'

Si alguien me puede iluminar que estoy haciendo mal y como lo puedo arreglar, se lo agradecere

Saludos :)

10
C/C++ / He Diseñado Una Web Sobre Ogre, Acepto Sugerencias
« en: Martes 26 de Julio de 2005, 01:06 »
Pues eso, como me ha llamado mucho la atencion la programación gráfica 3D, hice una página acerca de OGRE, utilizando XOOPS, se aceptan opiniones y sugerencias, aunque advierto, todavia no pongo mucho contenido.

Saludos :D

http://profesorxy.cogia.net

11
Programación de Videojuegos / Proyecto-x
« en: Lunes 16 de Febrero de 2004, 14:34 »
Proyecto-X

URL : http://www.proyecto-x.net

Web dedicada al desarrollo de un juego, que esta siendo creado como un proyecto libre, por el grupo de programación y diseño Cubical Minds.

En este portal, podreis encontrar información tanto sobre el juego, como sobre los que lo desarrollan, además si quereis colaborar en la creación de dicho juego, este es el lugar para contactar.

Si lo que quieres es colaborar en la creacion del juego, ponte en contacto en http://www.proyecto-x.net, sigue los pasos que se te indican, y pronto recibiras noticias. Para ayudar en la creacion de dicho juego, no necesitas conocimientos especificos y muy altos, unicamente necesitas ganas de aprender y pasarlo bien.

Todos son bienvenidos, aunque lo que mas necesita en este momento son grafistas y modeladores 3D.

Un Saludo.

Páginas: [1]