Oppure

Loading
14/12/08 14:34
ventu
Salve.

sto cercando di effettuare un sito di gestione di una azienda:
-Firme entrata
-Firme Uscita
Per non sovracaricare troppo il database durante le ricerce ho deciso che ogni mese venga creata una nuova tabella. Fin qui tutto bene.
Il problema sorge qundo vado a inserire le relazioni fra tabelle:
CREATE TABLE 12/2008(ID integer IDENTITY PRIMARY KEY,IDUtente integer IDENTITY ,EntrataM datetime,UscitaM datetime,EntrataP datetime,UscitaP datetime,EntrataS datetime,UscitaS datetime)


Fin qui funziona il problema è qundo inserisco la relazione.

CONSTRAINT FK_Mese  FOREIGN KEY(IDUtente)REFERENCES Utenti(ID)


Mi da errore dicendo che la sintassi è errata.

Codice in c# :

 string myConnString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\ventu\Documenti\Visual Studio 2005\WebSites\Acessi\App_Data\Accessi.mdb";
        OleDbConnection con = new OleDbConnection(myConnString);
        DateTime data = DateTime.Now;
        string NomeTabella = data.Month.ToString() +"."+ data.Year.ToString();
        string sql = "SELECT * FROM " + NomeTabella;
        OleDbCommand cmd = new OleDbCommand(sql, con);
        try
        {
            if (con.State != ConnectionState.Connecting)
            {
                con.Open();
                cmd.ExecuteNonQuery();
            }
        }
        catch
        {
            //try
            //{
                sql = "CREATE TABLE " + NomeTabella + "(ID integer IDENTITY PRIMARY KEY,IDUtente integer IDENTITY ,EntrataM datetime,UscitaM datetime,EntrataP datetime,UscitaP datetime,EntrataS datetime,UscitaS datetime)CONSTRAINT FK_Mese  FOREIGN KEY(IDUtente)REFERENCES Utenti(ID)";
                cmd = new OleDbCommand(sql, con);
                cmd.ExecuteNonQuery();
            //}
            //catch
            //{
            //    lbl.Text = "Conttare l'amministratore del sistema Impossibile inizializzare nuovo mese!";
            //}
        }
        finally
        {
            if (con.State != ConnectionState.Connecting)
            {
                con.Close();


            }
        }


Questa parte di codice effettua un controllo sull'esistenza della tabella, se la tabella non esiste ne crea una nuova.

Grazie in anticipo a tutti.
aaa
14/12/08 15:50
Il Totem
Io non conosco bene sql, ma non dovrebbero esserci due istruzioni separate, una che crea la tabella, e una che la altera aggiungendo il vincolo? Se non fosse così, puoi comunque provare a vedere se non compare più l'errore.
aaa
14/12/08 16:52
ventu
Quindi mi suggerisci prima di fare :
-CREATE TABLE(creazione tabella)
-ALTER TABLE(creazione relazione)

Ora provo poi ti faccio sapere.

Ti ringrazio ciao.
aaa