Sub-consultas, clausulas MIN y TOP

Mi primer contacto con un servidor de base de datos en lo profesional fue con SQL Server. Sin embargo cuando nos fuimos a procesamiento de datos entro como luz, el poderoso Oracle.

Sin embargo para fines académicos me hicieron una consulta, que en Oracle no hubiera tenido grandes problemas y quizás en SQL Server tampoco pero tiene sus diferencias que llevaron un poco de tiempo para investigar.

El problema es el siguiente:

Se tienen registros de préstamo de equipos de cómputo y el cliente ha solicitado que se haga un sistema para automatizar estos préstamos además que verifique los tiempos de uso de los equipos para balancear sus cargas de trabajo y lograr una durabilidad del inventario.

No tengo el modelo de exacto de la base de datos de los chicos pero es algo parecido a ésto:

Read More

DataGridView con botones en ASP.NET

 

En la clase pasada de Desarrollo de Aplicaciones III, surgió la duda de como hacer funcionar un botón en un objeto (componente) DataGridView.

En aquellos años mozos del 2005 nos comentaban que estos componentes ponían a temblar a los servidores de aplicaciones por el tiempo de respuesta. Parece ser que esto ha quedado en el pasado (hay que ver las opiniones de los testers) pero vamos a desarrollar un artículo de Hitesh Vikani [1], donde da un ejemplo de como trabajar con esto.

Para ello creamos una aplicación web vacía con soporte para WebForms (ustedes pueden usar MVC o otros tipos de proyectos, yo creo que funcionará).

Read More

Íconos en Xamarin-Android.

Los íconos para agregarse en la aplicación era otro problema referente a las aplicaciones Xamarin-Android.

Aunque siguieras el Hola mundo de la Xamarin University, al realizar este paso [1] no es posible ejecutar la aplicación. Visual Studio marca el siguiente error:

No resource found that matches the given name (at ‘icon’ with value ‘@mipmap/Icon’). XappAn_Meetings

C:\Users\miguel.araujo\Documents\Visual Studio 2015\Projects\XAppAn_Meetings\XAppAn_Meetings\obj\Debug\android\manifest\AndroidManifest.xml 9

Intente varias cosas, al final lo que me dió la solución fue entrar en el GitHub donde se tiene esta aplicación y revisar el ejemplo [2]. En el PhoneWord (el de GitHub) no se usan las carpetas mipmap, sino las carpetas drawables, por lo que procedí a renombrarlas en mi aplicación.

Antes diseñé un ícono (inspirado en el chapulín colorado) en un sitio línea llamado Android Asset Studio [3], muy sencillo realmente y nos descarga los 5 tipos de íconos, así que una vez descargados renombre a todos como Icon.png e inserte en el proyecto.

Esto del diseño gráfico es un tema muy interesante inclusive hay sitios donde puedes mandar pedir que te hagan tus propios íconos (con un costo claro), según el sitio de aprendizaje de Xamarin.

Ahora en el manifiesto (AndroidManifest.xml) no podemos elegir de forma gráfica (al menos yo no) entonces otra cosa muy importante es que cuando vemos el asistente de forma gráfica (en el Explorador de soluciones dar click con botón derecho y elegir la opción Propiedades) la parte del ícono hay que dejarla vacía.

Read More

Emulador Genymotion

Seguimos con Xamarin.

Una de las cosas que me causó un poco de frustración es el tema de los emuladores. Al tratar de que funcionaran con los que trae por default VS 2017-2015 además que se tardaba eternidad por aquello de que los equipos que trabajo son AMD y no Intel, y pese a que alguna vez si se levantó el emulador generalmente marcaba el siguiente error:

Entonces me puse manos a la obra para buscar alguna posible solución. Esta llegó en el sitio “Codenutz“[1] donde comentaba el uso de una emulador llamado Genymotion que se leían varias opiniones positivas y que además podía utilizarse para Xamarin.

Dos cosas que me parecen muy buenas es que utiliza mi caballo de batalla “Oracle VirtualBox” y que Genymotion tiene una versión gratuita para uso personal. Cuestión aparte que el despliegue en esta máquina virtual es muy rápida.

Read More

Xamarin – una aplicación para Android utilizando el sqlite.net.

El abrir una puerta nos descubre nuevas puertas” – M. Araujo

Con beneplácito doy un paso más en el desarrollo móvil con las rubustas (y pesadas) herramientas de desarrollo de Microsoft (Visual Studio) que cual “Kraken” extiende sus tentáculos al mundo de Linux, MacOs, Java, Google, etc.

Aun reciente la noticia de la conquista del mexicano Guillermo del Toro, recordándole al 45° presidente del vecino país del norte, en su propia casa, en su propia industria cinematográfica, en su propia cara, lo que la mayor parte del mundo sabe: los mexicanos no solo somos delincuentes, violadores, narcotraficantes y demás lacras sociales.

Atrás de Xamarin esta orgullosamente Miguel de Icaza, co-fundador de las antecesoras de la misma (Ximian y Mono), que en 2016 Microsoft adquiere. [1]

Read More

XAML en WPF C# (segunda parte)

Con el pasar de los días y arrastrando un poco la cobija, continuamos con este ejercicio buscando ahora guardar datos en una base de datos, y simulando en lo posible el patrón MVC.

Para agilizar las cosas en lugar de hacer recorridos mediante botones de avance, retroceso, inicio y fin, vamos a agregar un grid, quedando así el prototipo:

Tengo un servidor de base de datos SQL Server en una máquina virtual, ahí vamos  a crear base de datos DBClients y una tabla llamada T_client.

Read More

Xamarin,Xamarin como me has hecho sufrir…

Microsoft no es del todo la empresa líder en desarrollo para dispositivos móviles, llámese de tabletas para abajo. Sin embargo como gran conglomerado y existiendo estos aparatos como en el que estoy tecleando ahora, seguirán buscando hacer competencia a Google y Apple en el terreno del desarrollo móvil.

Algo que nos debe hacer sentir orgullosos – al igual que los oscares de Guillermo del Toro  – es la creación y después compra de Xamarin por parte de Microsoft al empresario-desarrollador mexicano Miguel de Icaza, con una apuesta muy fascinante, la unificación de plataformas.

Mi querido colega el Ingeniero Daniel Marín, alguna vez me comentó que Xamarin no le era de su agrado y el usaba el famoso, Android Studio.

A meses, quizás años de esa charla, lo entiendo, el tener una primera aplicación corriendo en mi teléfono Android ha sido todo un reto, y no tanto intelectual sino que hay que descargar y actualizar muchas cosas.

Con  mi grupo de Desarrollo de Aplicaciones III logramos correr Xamarin Live, donde el equipo donde estamos desarrollando hace espejo en nuestro dispositivo móvil por medio de una App que se baja tanto de AppStore como de la PlayStore, creí que era sencillo pasar alguna aplicación a los dispositivos pero mis alumnos no tuvieron éxito.

Aquí les cuento como se pudo lograr, en mi caso no he podido hacer funcionar los emuladores, solo con Xamarin Live, en el dispositivo por medio de cable USB y ya pasando el .APK al dispositivo.

Read More

XAML en WPF C# (primera parte)

Debido a que por un momento creí que el desarrollo de aplicaciones para escritorio desaparecería en los años próximos deje de lado el XAML para Visual Studio y seguí usando las aplicaciones clásicas de Windows Forms.

Ahora leyendo literatura, Microsoft XAML junto con otras más tecnologías más hace una puesta muy interesante para unificar la vista de todas aplicaciones de Visual Studio y más allá; así que pues a entrarle no hay más. Copio y cito texto para explicar que es XAML.

XAML

“Microsoft XAML es un lenguaje de programación declarativo basado en XML. Su nombre completo es XML Application Markup Language (XAML). El lenguaje es la base para dos importantes tecnologías para desarrollar aplicaciones de Microsoft: Silverlight y Windows Presentation Foundation. ”

Windows Presentation Foundation

“WPF se introdujo con .NET 3.0 en su lugar, o al menos como un primer paso hacia estándares de la industria para utilizar lenguajes de programación declarativos tales como XML. En esencia está utilizando XML para definir un nuevo lenguaje de programación. Hasta entonces, si se necesita una aplicación de escritorio, es necesario utilizar el subsistema GDI y construir aplicaciones basadas en Windows Forms. En cambio, WPF utiliza DirectX y XAML para hacer los controles de la interfaz de usuario” [1]

No me ha costado mucho trabajo la entrada a este mundo nuevo ya que si se sabe usar los Windows Form, los controles son muy parecidos aunque con algunas variaciones.

Aquí describiré una de las cosas que no me salieron a la primera búsqueda de Google.

Para crear una aplicación de XAML para escritorio se hace lo siguiente en Visual Studio 2017.

Read More

Como obtener los nombres y parámetros de un procedimiento almacenado en SQL Server

Hace algún tiempo hemos tratado de hacer código re-utilizable y llevamos algo de camino andado. El problema planteado hoy, es que una vez definido(s) nuestro(s) procedimiento(s) almacenado(s), como podría consultar su nombre, sus parámetros, tipos de datos de los parámetros y una serie datos necesarios que necesitamos para ejecutarlo desde algún lenguaje de programación.

Los motores de datos cuentan con su propio diccionario de datos que son una maravilla. El Blog DbLearner  hay un artículo para saber el nombre de las tablas columnas y tipos, la lógica sería igual, aunque yo me fui a ver que tenían las vistas que se generan en SQL Server y de ahí preparar el query que me devolverá lo que necesito. En este caso estoy usando una base de datos SQL Server Express 2014.

Antes hice un procedimiento almacenado llamado CHECKLOGINPASS, aquí el código:

Read More

S.O.S Godínez (macros en Excel, quitar símbolo porcentaje)

Debido a que he sido docente y alguna vez me han dado la materia de Excel, tengo cierta experiencia con tal paquete de ofimática de Microsoft Office.

Luego no tenemos tiempo para profundizar, pero un tema que  no he explorado es la de las macros que sin duda deben tener mucho potencial debido al uso tan amplio de la herramienta.

Solo alguna vez combinadas con FoxPro y .NET y modificando código fue que he usado y usamos código para manipular hojas de Excel.

El problema que por esta vez San Google no me pudo contestar puntualmente, el problema era que los decimales de una celda formateada como porcentaje no se viera el el símbolo del mismo, es decir en lugar de 13.3% se quería que el dato se mostrará como 13.3. Aquí un ejemplo:

Pudiéramos pensar que solo cambiamos a formato de número con un decimal y listo…

Y pudiéramos pensar que luego multiplicar por 100 y listo, el detalle es que eran más de 100 cuadros,y con posibilidades del error humano.

Read More