• Jueves 23 de Febrero de 2017, 21:39

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 - chenech

Páginas: [1] 2 3 4
1
C# / Re:Consultas sql en C#
« en: Jueves 15 de Diciembre de 2016, 22:13 »
Hola, cuando un campo es igual en mas de una tabla tienes que usar alias.
Esta consulta no tiene sentido:

  string consultaSQLA = "SELECT Legajo FROM InasistenciasSecretario,  InasistenciasJefatura, InasistenciasDirector, InasistenciasBedel WHERE Legajo = " + txtLegajo.Text + "";

No haces JOIN de las tablas.

Para contar los registros usa SELECT COUNT(LEGAJO) FROM TABLA WHERE ...

Un saludo.

2
C# / Re:Consultas sql en C#
« en: Domingo 11 de Diciembre de 2016, 15:12 »
Al tratar el dato como string debes poner el número tres entre comillas.

3
C# / Re:Consultas sql en C#
« en: Sábado 10 de Diciembre de 2016, 20:30 »
Cuando me pasaba eso quitaba los try catch e iba poniendo MessageBox.Show("1"), MessageBox.Show("2"), etc entre las líneas para ver donde llegaba y donde se para. O bien ejecuta la aplicación en debug línea por línea a ver donde se para o da error.

4
C# / Re:Consultas sql en C#
« en: Sábado 10 de Diciembre de 2016, 20:12 »
Pon el código sin los bloques try catch para si te da error ver donde es.

5
C# / Re:Consultas sql en C#
« en: Sábado 10 de Diciembre de 2016, 18:22 »
Te puse un ejemplo, cambia la tabla y los campos por los de tu base de datos.
Inventario por InasistenciasJefatura y los campos de tu tabla y pasa los parámetros tuyos.

6
C# / Re:Consultas sql en C#
« en: Sábado 10 de Diciembre de 2016, 18:01 »
Perdón, si, el Open hay que hacerlo, estaba confundido.
@PAlmacen es el parámetro a pasar y tbAlmacen.Text es el valor del dato en el form.
En el INSERT no pongo los datos de la base de datos por que se los paso igual que están en la BD, podría ser así también:

sbQuery.Append("INSERT INTO Inventario (Almacen, Fecha, Articulo, Unidades) VALUES(@PAlmacen, @PFecha, @PArticulo, @PUnidades)");

También vale como lo has puesto tu, a mi me gusta más por parámetros para hacer mas legible el código:

string consultaSQL = "INSERT INTO InasistenciasJefatura (Legajo,Estado,Fecha,Cargo,Turno,Aviso) VALUES " + txtLeg.Text + ""+ txtEstado.Items + "" + txtFecha.Text +""+ Cargo.Items + ""+ txtTurno.Text  + "" + txtAviso.Text+ "" ;

string consultaSQL = "INSERT INTO InasistenciasJefatura (Legajo, Estado, Fecha, Cargo, Turno, Aviso) VALUES (@Legajo, @Estado, @Fecha, @Cargo, @Turno, @Aviso)";

Ahí tienes ejemplos de datos alfanuméricos, fecha y numérico.

7
C# / Re:Consultas sql en C#
« en: Sábado 10 de Diciembre de 2016, 16:59 »
aquí tienes un ejemplo de como lo hacía yo pasando los parámetros a la sentencia SQL, no debes ejecutar el Open() este es para consultas SELECT que devuelven resultado, para UPDATE e INSERT es con ExecuteNonQuery.
Código: [Seleccionar]
                    sbQuery = new StringBuilder("");
                    sbQuery.Append("INSERT INTO Inventario VALUES(@PAlmacen, @PFecha, @PArticulo, @PUnidades)");
                    cmd.CommandText = sbQuery.ToString();
                    cmd.Parameters.Clear();
                    cmd.Parameters.AddWithValue("@PAlmacen", tbAlmacen.Text);
                    cmd.Parameters.AddWithValue("@PFecha", dtFecha.Value.Date);
                    cmd.Parameters.AddWithValue("@PArticulo", tbArticulo.Text);
                    cmd.Parameters.AddWithValue("@PUnidades", dUnidades);
                    cmd.Connection = conn;
                    cmd.ExecuteNonQuery();

8
C# / Re:Consultas sql en C#
« en: Sábado 10 de Diciembre de 2016, 00:22 »
Vaya, bueno por lo menos funcionó.
Un saludo.

9
C# / Re:Consultas sql en C#
« en: Viernes 9 de Diciembre de 2016, 21:47 »
Pon un else que display algo a ver si es que no existe el legajo

Código: [Seleccionar]
                        if (lector["Legajo"].ToString() == txtLegajo.Text)
                        {
                            Form2 segundo = new Form2();
                            segundo.ShowDialog();
                        }
                        else
                            ...

10
C# / Re:Consultas sql en C#
« en: Viernes 9 de Diciembre de 2016, 18:21 »
despues de
SqlCeConnection conn = new SqlCeConnection();

11
C# / Re:Consultas sql en C#
« en: Viernes 9 de Diciembre de 2016, 17:08 »
Lo que veo distinto es que yo el string se lo muevo luego y no en la creación como tu, yo lo tengo así:

conn.ConnectionString = "Data Source= " + ruta + "ChenWM.sdf;";

Prueba a quitarlo de la declaración y añadirlo luego del new a ver.

12
C# / Re:Consultas sql en C#
« en: Viernes 9 de Diciembre de 2016, 16:39 »
El ejemplo que te puse es de algo echo por mi hace mucho tiempo, ya no uso C#, fue echo para SQL CE de unas PDA, supongo que será equivalente al Ole pero no te lo puedo asegurar, si alguien por aquí domina el tema y opine mejor, y sí, en conn va el string de conexión que has puesto.
En cuanto a ponerlo en el Form o en el evento del click de ratón depende de como quieras, si lo haces en el click, abres la base de datos, compruebas y cierras la conexión, si lo hacen el el Form al crearlo, por ejemplo, define las variables generales y mantienes abierto el cursor a la base de datos hasta que tu quieras o se cierre el programa.
De todas formas, si alguien por aquí lee esto y conoce el C# mejor que opine, lo que te digo yo es de memoria y de hace años.
Un saludo.

13
C# / Re:Consultas sql en C#
« en: Jueves 8 de Diciembre de 2016, 23:43 »
Hola de nuevo, no tengo compilador para probar pero prueba este código, en sbQuery asigno la sentencia SQL, luego se la asigno al comando a ejecutar y luego compruebo si es igual. antes asigna a conn el string de conexión.

Código: [Seleccionar]
               SqlCeConnection conn = new SqlCeConnection();
               StringBuilder sbQuery = new StringBuilder();
               SqlCeCommand cmd = new SqlCeCommand();
               IDataReader dr;

                sbQuery.Append("SELECT Legajo FROM Personal WHERE Legajo = " + txtLegajo.Text + "'");
                cmd.CommandText = sbQuery.ToString();
                cmd.Connection = conn;
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    if (dr["Legajo"].ToString() == txtLegajo.Text)
                   {
                     Form2 segundo = new Form2();
                     segundo.ShowDialog();
                   }
                }
                dr.Close();



14
C# / Re:Consultas sql en C#
« en: Jueves 8 de Diciembre de 2016, 19:35 »
Es que no se en Visual Basic como se ejecuta una sentencia SQL, deberias ejecutar la sentencia siguiente que te devuelve el contenido de Legajo y compararlo. Sería algo así, lo que no se como sejecuta.

Código: [Seleccionar]
"SELECT Legajo FROM Personal WHERE Legajo ='" + txtLegajo.Text + "'";
si(<Resultado de la SQL> es igual a txtLejago.Text)
  {
    Form2 segundo = new Form2();
    segundo.ShowDialog();
  }

15
C# / Re:Consultas sql en C#
« en: Jueves 8 de Diciembre de 2016, 18:53 »
Hola, tienes un paréntesis cerrado al final y no veo uno abierto antes.
Estas asignando la instrucción SELECT al string comando pero no se donde la ejecutas para comprobar el resultado, no conozco Visual Basic pero me imagino que comando debes ejecutarlo en algún sitio y comprobar el resultado, en el código que pones comando valdrá el valor que le has asignado y no true/false.

16
C/C++ / Re:limpiar buffer.
« en: Domingo 4 de Diciembre de 2016, 23:12 »
Hola de nuevo, estoy un poco perdido con el código que has puesto, en que variable puede venir el espacio, como se acepta, por teclado?
Que tipo son las variable que tienes en ese código, etc ...
si no recuerdo mal GetAsyncKeyState se usa para saber si está pulsada alguna tecla especial como Ctrl, Alt, etc.
Con lo que has puesto no me entero, lo siento.

17
C/C++ / Re:limpiar buffer.
« en: Domingo 4 de Diciembre de 2016, 16:09 »
Hola, que compilador de C++ usas y el programa es para Windows, DOS, Unix, etc.???

Pon la parte del código que aceptas los datos y en el que hay que filtrar el espacio.

18
C++ Builder / Re:Mensajeria de texto
« en: Martes 15 de Noviembre de 2016, 18:25 »
Hola, me imagino que trabajarás con alguna base de datos?
Si es así yo lo que haría es que crear un tabla con todas las palabras del diccionario, luego otra tabla donde asignes a cada número las letras, y en cada pulsación vas buscando la equivalencia de la tecla con las letras y vas buscando en el diccionario.
Por ejemplo: en el evento OnKeyPress lees la tecla, miras que letras son y busca en el diccionario las que empiezan por esa letra, cuando pulse otra, se la concateno a la cadena donde estaba la primera y vuelvo a buscar y mostrar, la tercera idem y así hasta que pulse espacio o seleccione la palabra.
Podrías solo empezar a buscar a partir de la tercera pulsación, cuando la longitud de la cadena sea mayor de 2 también, ya que con las dos primera pueden salir muchos resultados.

Un saludo.

19
C++ Builder / Re:como resolver este ejercicio
« en: Viernes 11 de Noviembre de 2016, 18:09 »
Pues este es un buen ejercicio, ahí tienes trabajo para rato  :ball:

20
C/C++ / Re:calculadora test
« en: Viernes 11 de Noviembre de 2016, 00:10 »
Si quieres que elija entre un valor de a al d en cada opción sería así, lo he echo lo mas simple posible para que lo entiendas mejor, muestra cada vez los valores con el printf y los toma con es scanf, luego los if es para ver si es el a, b, c o de i asigna el valor según la letra, espero te ayude.
Un saludo

Código: [Seleccionar]
    int a = 0, b = 0, c = 0, d = 0;
    char opc[1];
        system ("cls");
        printf("Calculadora Test\n\n");
        printf("1.Escoja una opcion\n");

        printf("\na:1\nb:2\nc:3\nd:4\n");
         scanf("%1s",&opc);
        if(opc[0] == 'a')
          a = 1;
        if(opc[0] == 'b')
          a = 2;
        if(opc[0] == 'c')
          a = 3;
        if(opc[0] == 'd')
          a = 4;
        printf("\na:5\nb:6\nc:7\nd:8\n");
         scanf("%1s",&opc);
        if(opc[0] == 'a')
          b = 5;
        if(opc[0] == 'b')
          b = 6;
        if(opc[0] == 'c')
          b = 7;
        if(opc[0] == 'd')
          b = 8;
        printf("\na:9\nb:10\nc:11\nd:12\n");
         scanf("%1s",&opc);
        if(opc[0] == 'a')
          c = 9;
        if(opc[0] == 'b')
          c = 10;
        if(opc[0] == 'c')
          c = 11;
        if(opc[0] == 'd')
          c = 12;
        printf("\na:13\nb:14\nc:15\nd:16\n");
        scanf("%1s",&opc);
        if(opc[0] == 'a')
          d = 13;
        if(opc[0] == 'b')
          d = 14;
        if(opc[0] == 'c')
          d = 15;
        if(opc[0] == 'd')
          d = 16;
        printf("%d", a + b + c + d);

21
C/C++ / Re:calculadora test
« en: Jueves 10 de Noviembre de 2016, 23:54 »
Ya lo tienes bien, pides los cuatro parámetros y te falta solo la suma, añade al final esta línea y te mostrará la suma de los cuatro datos, en la declración de los campos int quita el opc que no se utiliza, eso da un warning.

        printf("%d", a + b + c + d);

22
C/C++ / Re:calculadora test
« en: Jueves 10 de Noviembre de 2016, 20:47 »
Hola, podrías poner lo que tienes ya echo y le echamos un vistazo?
Un saludo.

23
C++ Builder / Re:C++ COMO RESOLVER ESTE PROBLEMA
« en: Jueves 10 de Noviembre de 2016, 20:41 »
Hola German, con punteros podría ser algo así, recorro con el for la cadena de a y en el switch voy asignando si es algunas de las letras que quieres cambiar, sin punteros casi sería más fácil  :think:, añade al switch los caracteres que quieras, al final quedará a con la cadena original y b con la modificada, espero te sirva, un saludo.

Código: [Seleccionar]
 
  char a[] = "Pablito clavó un clavito. ¿Qué clavito clavó Pablito";
  char b[] = "Pablito clavó un clavito. ¿Qué clavito clavó Pablito";
  char *ptra;
  char *ptrb;
  int n;
  for(ptra = (char*)&a, ptrb = (char*)&b, n=0;n<sizeof(a)-1;n++,ptra++, ptrb++)
  {
    switch (*ptra)
    {
      case 'a': *ptrb = '@'; break;
      case 'e': *ptrb = '$'; break;
      case 'i': *ptrb = '#'; break;
      default: *ptrb = *ptra;
    }
  }

24
Hola Judai, te falta inicializar a cero el valor de suma antes de cada bucle, añade suma = 0 despues de while, quedaría así:

Código: [Seleccionar]
#include <iostream>
using namespace std;

int main(){
   
   int j, contador,suma, n;
   
   n=2;
   contador=0;
   
   while (contador<5){
      n=n+1;
      suma = 0;
      for(j=1;j<n;j++){
         if (n%j==0)
            suma=suma+j;
         }
      if (suma==n){
         contador=contador+1;
         cout<<n<<endl;
         }
   }
system ("pause");
return 0;
}

25
C/C++ / Re:Imagenes y sonidos
« en: Jueves 27 de Octubre de 2016, 22:02 »
Hola, podrías poner ya lo que tienes echo y en que te falla?

Un saludo.

Páginas: [1] 2 3 4