[C con Clase] Problema con MySQL

Kyosuke Kasuga kyosuke_cl en yahoo.es
Mie Mayo 28 01:22:16 CEST 2008


Hi!!!, Bueno ahora tengo otro problemita, pero ahora es con MySQL, bueno tengo la siguiente tabla :
   
  mysql_query(MisDatos, "CREATE TABLE Restorant.Fifo ("
                        "codigoProducto VARCHAR(15), "
                        "cantidad INT NOT NULL DEFAULT 0, "
                        "pesolitro FLOAT(4) NOT NULL DEFAULT 1, "
                        "fingreso DATE, "
                        "fvencimiento DATE, "
                        "pcosto INT NOT NULL DEFAULT 0, "
                        "codigoFifo INT AUTO_INCREMENT, "
                        "PRIMARY KEY (codigoFifo), "
                        "FOREIGN KEY (codigoProducto) REFERENCES Productos (codigo) "
                        "ON DELETE CASCADE ON UPDATE CASCADE) "
                        "ENGINE=InnoDB");
   
  Y cuando trato de llenarla me manda el siguiente error:
   
  "Column count doesn't match value count at row 1"
   
  Esto me aparece cuando trato de agregar una nueva fila a la tabla, yo creo que es porque definí a una columna cono AUTO_INCREMENT, pero no se como hacerlo para que me acepte la nueva fila, el código que intenta hacer esto es el siguiente :
   
  bool BaseDatos::GuardaFifo(HWND hwnd, char *login, char *clave)
{
  int ancho;
  char *Consulta;
  char Plantilla2[250];
  char cadena[] = "INSERT INTO Fifo VALUES (\'%s\', \'%d\', \'%f\', \'%s\', \'%s\', \'%d\')";
    if (!(MisDatos = mysql_init(0))){
      return false;
  }
  if (!mysql_real_connect(MisDatos, Maquina, login, clave, Nombrebase, MYSQL_PORT, NULL, 0)){
      sprintf(Plantilla2, "Error : %s", mysql_error(MisDatos));
      MessageBox (hwnd, Plantilla2, "Chanchichó", MB_ICONEXCLAMATION);
      mysql_close(MisDatos);
      return false;
  }
  /* Se formula consulta para ingresar datos*/
  ancho = strlen(fifo.codigoProducto);
  ancho = ancho + strlen(fifo.fingreso) + strlen(fifo.fvencimiento) + 19;
  Consulta = new char[strlen(cadena)+ ancho];
  sprintf(Consulta, cadena, fifo.codigoProducto, fifo.cantidad, fifo.pesolitro,
                            fifo.fingreso, fifo.fvencimiento, fifo.pcosto);
    mysql_query(MisDatos, Consulta);
  sprintf(Plantilla2, "Error : %s", mysql_error(MisDatos));
  MessageBox (hwnd, Plantilla2, "Chanchichó", MB_ICONEXCLAMATION);
  delete[] Consulta;
  mysql_close(MisDatos);
  return true;
}
   
  La estructura Fifo es como sigue :
   
  typedef struct {
    char codigoProducto[16];
    long int cantidad;
    float pesolitro;
    char fingreso[11];
    char fvencimiento[11];
    long int pcosto;
}Fifo;
   
  Cualkier idea o sugerencia del porque del error, lo agradeceria mucho, de antemano muchas gracias.


Entre más numerosos somos, más cerca estamos de nuestra propia extinción. 

http://bisbirudolfo.blogspot.com/
       
---------------------------------

Enviado desde Correo Yahoo!
La bandeja de entrada más inteligente.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080528/85e18ea5/attachment.html>


Más información sobre la lista de distribución Cconclase