PDA

Visualizza la versione completa : [C] Inserire pių righe in una tabella tabella MySQL


tony8717
08-03-2011, 16:33
salve,
ho un problema ovvero con tale codice riesco ad immettere solamente la prima riga nella tabella posta in mysql .come devo modificare tale programma per far si che possa inserire quante righe voglio??
PS:ho anche provato con il for ma non ci riesco aiutatemi po favor
grazie mille



int main()
{


MYSQL mysql;

char* query = " INSERT INTO ordini(NumeroOrdine,CodiceForn,DataEmissione,DataC onsegna)"
" VALUES ('1005','431','10/06/21','10/09/11');";

// restituisce NULL se non avviene con successo
if (! mysql_init (&mysql)) {
printf ("Errore nella allocazione di memoria.\n");
exit (EXIT_FAILURE);
}

if (! mysql_real_connect (&mysql, host, db_user, db_pass, "",
0, NULL, 0)) {
printf ("Errore nella connessione.\n");
goto error;
}

// restituisce zero se avviene con successo
if (mysql_select_db (&mysql, database)) {
printf ("Errore nella selezione del database.\n");
goto error;
}

//esegue la query
if (mysql_query (&mysql, query)) {
printf("Errore nella query.\n");
}

error:
mysql_close (&mysql); // chiusura del database

system("pause");
return 0;

LeleFT
08-03-2011, 17:46
Il linguaggio usato va espressamente indicato nel titolo della discussione ed il codice va postato indentato e all'interno degli appositi tag CODE, come espressamente richiesto dal Regolamento interno (http://forum.html.it/forum/showthread.php?s=&threadid=973887).

Per questa volta ho sistemato io titolo e codice.

Ciao. :ciauz:

tony8717
08-03-2011, 21:25
grazie mille :ciauz:

lolide
08-03-2011, 21:55
Cosa ho visto: un GOTO :eek: ...

Apparte questo, che significa riesco ad inserire solo una linea ?
Ti fa un errore ?
Un crash ?
Magari quel NumeroOrdine č un chiave primaria e non inserisce le altre per questo ?

Dacci pių dettagli.

kirakira93
09-03-2011, 00:07
ston provando a connettermi al mio database MYSQL del sito http://kirarelease.altervista.org con le librerie QT, ma visto che con quelle non riesco, mi potresti dire che librerie stai usando?

lolide
09-03-2011, 20:02
Originariamente inviato da kirakira93
ston provando a connettermi al mio database MYSQL del sito http://kirarelease.altervista.org con le librerie QT, ma visto che con quelle non riesco, mi potresti dire che librerie stai usando?

Esistono API C++ sviluppate dalla stessa Oracle, qui (http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-apps-windows-visual-studio.html) trovi una guida su come settarle in Visual Studio 2008 e ci dovrebbe essere anche un link per il download (Se non c'č gira nel sito e lo troverai).

tony8717
20-03-2011, 10:50
scusate se non vi ho risposto ma purtroppo sono dovuta partire
cmq le librerie che ho usato sono lbmysql

il mio problema non l'ho ancora risolto se qualcuno mi aiutasse le sarei grata

tony8717
21-03-2011, 11:28
int main()
{
char ch;
int N;
int i;
int NumeroOrdine;
int CodiceForn;

struct data
{
int giorno;
int mese;
int anno;
};
struct data DataEmissione;
struct data DataConsegna;
MYSQL mysql;



for (int i=1;i<3;i++)
{

printf("inserisci il numero ordine");
scanf("%d",&NumeroOrdine);
printf("inserisci il codiceforn");
scanf("%d",&CodiceForn);
printf("inserisci dataemiss.giorno");
scanf("%d",&DataEmissione.giorno);
printf("inserisci dataemissione.mese");
scanf("%d",&DataEmissione.mese);
printf("inserisci dataemissione.anno");
scanf("%d",&DataEmissione.anno);
printf("inserisci dataconsegna.giorno");
scanf("%d",&DataConsegna.giorno);
printf("inserisci dataconsegna.mese");
scanf("%d",&DataConsegna.mese);
printf("inserisci dataconsegna.anno");
scanf("%d",&DataConsegna.anno);
char* query = " INSERT INTO ordini(NumeroOrdine,CodiceForn,DataEmissione.giorn o,DataEmissione.mese,DataEmissione.anno,DataConseg na.giorno,DataConsegna.mese,DataConsgna.anno)" "VALUES ('%d','%d','%d','%d','%d','%d','%d','%d');";
mysql_query (&mysql,query);

}



if (! mysql_init (&mysql)) {
printf ("Errore nella allocazione di memoria.\n");
exit (EXIT_FAILURE);
}

if (! mysql_real_connect (&mysql, host, db_user, db_pass, "",
0, NULL, 0)) {
printf ("Errore nella connessione.\n");
goto error;
}

// restituisce zero se avviene con successo
if (mysql_select_db (&mysql, database)) {
printf ("Errore nella selezione del database.\n");
goto error;
}

//esegue la query
if (mysql_query (&mysql, query)) {
printf("Errore nella query.\n");
}

error:
mysql_close (&mysql); // chiusura del database

system("pause");
return 0;
}



io voglio immettere da tastiera i valori dei vari campi di una tabella in mysql da c,ma questo codice mi da il seguente errore:
106 C:\Dev-Cpp\progetto\INSERTinto.cpp `query' undeclared (first use this function)
mi sapreste indicare cos'č che sbaglio???????
grazie mille

Loading