Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Problemi con database con piu tabelle

    Ciao ragazzi ho un problema con un database...
    ovvero sto realizzando una pagina di registrazione pero quando vado a scrivere i dati nel database, questi si vanno a piazzare in un'altra tabella dello stesso db.
    sto impazzendo non riesco proprio a capire

    L'errore è questo:
    Tipo di errore:
    Microsoft JET Database Engine (0x80004005)
    Impossibile aggiungere o modificare il record. Nella tabella "banca" è necessario un record correlato.
    /miosito/new1.asp, line 17

    il codice che ho inserito è:
    <% @ language="JScript" %>

    <%
    con = Server.CreateObject("ADODB.Connection");
    sConString = "Provider = Microsoft.Jet.OLEDB.4.0; "
    + "Data Source = " + Server.MapPath("./gesim.mdb");
    con.Mode = 3;
    con.Open(sConString);
    rst = Server.CreateObject("ADODB.Recordset");
    var nick = Request.Form("nick");
    var pass = Request.Form("pass");
    var ccid = Request.Form("cc");
    sSQLString = "INSERT INTO usr (nick, pwd, ccid) values ('" +
    nick + "' , '" +
    pass + "', '" +
    ccid + "')";
    rst=con.execute(sSQLString);
    con.Close();
    Response.Redirect("home.asp");
    %>

  2. #2
    ci deve essere una qualche correlazione tra usr e banca. rilevala e agisci di conseguenza

  3. #3
    si la tabella usr è collegata alla tabella banca dal ccid e alla tabella sim dal nick.
    Ma sei io voglio aggiungere solo dei valori alla tab usr non lo posso fare?
    Devo aggiungere i valori del ccid e del nick alle altre 2 tabelle collegate?

    grazie per la pazienza

  4. #4
    se sono collegate devi rispettare l'integrità referenziale.

  5. #5
    e quindi in che modo posso agire?
    scusami ma sono alle prime armi con la gestione database...

  6. #6
    devi mettere i riferimenti anche delle altre tabelle. ti faccio un esempio

    la tabella fatture è collegata alla tabella clienti

    fatture:

    NR
    IDCLIENTE
    DATA
    IMPORTO

    non puoi inserire solo NR, DATA e IMPORTO, ma anche IDCLIENTE. è più chiaro adesso?


  7. #7
    ah ok

    capito...
    Grazie mille

  8. #8
    ho provato a fare come dicevi tu...ma non va...forse sbaglio qualcosa
    intanto allego un immagine che riassume i collegamenti fra le tabelle.

    Vista la relazione uno a molti del ccid della tabella banca
    avevo provato a "settare" prima il ccid della banca e mettendo a 0 il campo value e poi a caricare i dati dell'utente in questo modo:

    <% @ language="JScript" %>

    <%
    con = Server.CreateObject("ADODB.Connection");
    sConString = "Provider = Microsoft.Jet.OLEDB.4.0; "
    + "Data Source = " + Server.MapPath("./gesim.mdb");
    con.Mode = 3;
    con.Open(sConString);
    rst = Server.CreateObject("ADODB.Recordset");
    var nick = Request.Form("nick");
    var pass = Request.Form("pass");
    var ccid = Request.Form("cc");
    var val = 0;

    sSQLString = "INSERT INTO banca (ccid, val) values ('" +
    ccid + "' , '" +
    val + "')";
    sSQLString1 = "INSERT INTO usr (nick, pwd, ccid) values ('" +
    nick + "' , '" +
    pass + "', '" +
    ccid + "')";
    rst=con.execute(sSQLString);
    rst=con.execute(sSQLString1);

    con.Close();
    Response.Redirect("home.asp");
    %>

    l'errore che da è il seguente
    Tipo di errore:
    Microsoft JET Database Engine (0x80040E09)
    Impossibile aggiungere record. Autorizzazione per l'aggiornamento dati non disponibile per "banca".
    /miosito/new1.asp, line 22

    puoi aiutarmi per favore non so proprio dove sbattere la testa
    Immagini allegate Immagini allegate

  9. #9
    la regola è semplice: usr deve avere un ccid valido che esista già in banca. tu stai tentando di inserire in banca un ccid che probabilmente già esiste.

  10. #10
    purtroppo nella tab banca non esiste un insieme di ccid, ma ci stanno i ccid dei soli utenti registrati.

    ti spiego un po come funziona il sito.
    Pagina di registrazione: bisogna inserire nome utente, pass, e ccid.
    Successivamente si va alla pagina di gestione delle sim dove posso inserire i vari numeri di telefono di un utente, eventuali ricariche...

    Il database ha 2 utenti ( di prova ) gia registrati
    ma purtroppo nella tab banca ci sono solo i ccid di questi 2 utenti.

    che casino....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.