Jump to content

Siu

Warianos
  • Posts

    40
  • Joined

  • Last visited

Información Personal

  • Pais
    Chile
  • Genero
    Hombre

Siu's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. .net es orientado a objetos, Un formulario es un clase, por lo tanto siempre debes instanciarlos, por ende, está bien la combinación de ambas.
  2. Aquí un tutorial para Google Maps: http://www.elandroidelibre.com/2013/10/desarrollando-en-android-2-google-maps-api.html y aquí uno para OpenStreetMap: http://androcode.es/2012/06/osmdroid-introduccion-a-openstreetmap-en-android-osm-parte-i/
  3. Un ORM es una abstracción de la base de datos, lo que en ningún caso significa que debas perder la separación de capas, el ORM es parte de la Infraestructura de la aplicación. vale decir, como lo es una clase que lee un excel, una librería de sockets, etc... en palabras simple, en tu capa de Datos, utilizas el ORM, NO EN OTRO SITIO. también, aunque hay mucha discusión en el tema, algunos aconsejan utilizar un patrón Repository para incluso abstraer el ORM y así poder cambiar la versión o completamente éste sin afectar las capas superiores. ésto último, en arquitectura de software, se encuentra dentro dentro de los principios SOLID, y se le llama "Principio de sustitución de Liskov", el cual nos indica qué: la noción de que los “objetos de un programa" deberían ser reemplazables por instancias de sus subtipos sin alterar el correcto funcionamiento del programa”. Saludos.
  4. El script ya deja 1 de los datos, por eso el set rowcount 1, set rowcount 0, para que al eliminar solo lo haga 1 a la vez, por ende, después no estará dentro de los duplicados al pasar por el while. ejemplos si tienes los registros 1,1,1 2,1,1 3,1,1 lo que hace el script es eliminar el 1,1,1 el 2,1,1 pero deja el 3,1,1 ejecuta el mismo script copy/paste en una ventana de comando sql y ves el resultado.
  5. En definitiva, Los primeros insert, son para prueba, es para llenar @Table con la muestra simulando tu tabla principal. Luego básicamente hace un while mientras existan valores duplicados. Luego inserta esos valores duplicados en otra tabla para luego poder comparar con tu tabla base y eliminar los registros según esos valores, donde comparas cada columna con tu tabla principal. Luego elimina uno a uno cada valor de la tabla de paso de tu tabla principal Y por último un select que muestra el resultado. Saludos.
  6. Eso lo puedes sacar del mismo windows, si es que estás trabajando sobre ésta plataforma, ahora si no es así, si indicas el lenguaje y plataforma te podría ayudar más
  7. Para eliminar los duplicados puedes hacer lo siguiente: DECLARE @Table Table (A INT, B INT,C INT) DECLARE @Table2 Table (B INT, C INT) insert into @Table values(1,1,1)insert into @Table values(2,1,1)insert into @Table values(3,1,1)insert into @Table values(4,3,3)insert into @Table values(5,3,3)insert into @Table values(6,5,1)insert into @Table values(7,123,33)insert into @Table values(8,58,91)insert into @Table values(9,36,73)insert into @Table values(10,53,1) WHILE EXISTS (SELECT b,c, count(a)FROM @TableGROUP BY b,cHAVING COUNT(a) > 1)BEGIN INSERT INTO @Table2 SELECT b,c FROM @Table GROUP BY b,c HAVING COUNT(a) > 1 SET ROWCOUNT 1 DELETE @Table FROM @Table t1 INNER JOIN @Table2 t2 ON t1.B = t2.B AND t1.C = t2.C SET ROWCOUNT 0 DELETE @Table2END SELECT * FROM @Table Reemplaza @Table por tu tabla física (respalda antes por si falla), y declara en @Table2 los mismos campos sin la llave que puede ser distinta. Si te fijas, la columna A, es siempre distinta, pero la columna B y C, pueden estar duplicadas (registros 1 al 4). en éste caso la columna A es la llave. Saludos. PD: La magia está en el set rowcount 1, set rowcount 0, que lo que hace es solo eliminar una coincidencia a la vez.
  8. Yo optaría por decidir que paradigma de lenguaje quieres enseñarle, si dices que quieres que vaya por el camino de java, debes si o si escoger uno con una mínima orientación a objetos, si no, los conceptos variaran mucho. de hecho, ¿por qué no el mismo java?
  9. Utiliza una clase estática y le pasas los valores cuando hagas login.luego rescatas lo que quieras desde ahí.
  10. Pues ahí está la api y un demo. http://www.xbee-api.com/download.html
  11. Eso quiere decir que el error lo tiene form_loggin, no program.cs, pon un punto de interrupción en el constructor del form_loggin y revisa.
  12. JasperReports podría ayudarte http://community.jaspersoft.com/project/jasperreports-library
  13. El problema real, es que estás tratando de resolver con tu aplicación, algo que ni siquiera es culpa de ella, es bueno tener controlado el tema de las caídas y todo eso, pero hasta cierto punto, el solo hecho de instalar en cada PC un mysql propio, ya lo convierte en una locura.
  14. Resumen, los propósitos son distintos, si quieres hacer una aplicación web o de escritorio, C#, si quieres trabajar a nivel de hardware/S.O, c++. Saludos.
×
×
  • Create New...