[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