Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++/MySQL] "il set di record è di sola lettura"

    Ho realizzato un programma in Visual C++ che dovrebbe inserire dei record all'interno di una tabella di un DB MySQL.
    Però mi restituisce sempre questo messaggio:

    "il set di record è di sola lettura"

    Vi allego parte del codice:

    CDBCod::CDBCod(CWnd * pParent)
    {
    m_pView=(CSlaveView *)pParent;

    TRY
    {
    m_DBCod.Open("ODBC;DSN=SQLTr",FALSE,FALSE,"ODBC;", FALSE);
    m_Campo=new SQLCod(&m_DBCod);
    m_Campo->Open(CRecordset::snapshot);
    m_bDBAperto=TRUE;
    }
    CATCH(CDBException, e)
    {
    m_pView->AggiungiAllarme(e->m_strError,0);
    m_bDBAperto=FALSE;
    }
    END_CATCH
    }


    CDBCod::~CDBCod()
    {
    TRY
    {
    if (m_Campo->IsOpen())
    m_Campo->Close();

    m_DBCod.Close();

    delete m_Campo;
    }
    CATCH(CDBException, e)
    {
    m_pView->AggiungiAllarme(e->m_strError,0);
    }
    END_CATCH
    }


    BOOL CDBCod::CreaCod(
    CString cod1,
    CString cod2,
    CString cod3
    )
    {
    struct Cod cod;

    cod.cod1=cod1;
    cod.cod2=cod2;
    cod.cod3=cod3;

    m_SecCritica.Lock();
    BOOL Risultato = FALSE;

    TRY
    {

    m_Campo->AddNew();

    RiempiCampo(&cod);

    m_Campo->Update();

    Risultato = TRUE;

    }
    CATCH(CDBException, e)
    {
    m_pView->AggiungiAllarme(e->m_strError,0);
    }
    END_CATCH

    m_SecCritica.Unlock();
    return Risultato;
    }


    Io ho creato sul mio PC una istanza di MySQL con nome utente ("utente") e password ("pass"), mi collego al DB di MySQL utilizzando ODBC
    e la proprietà CRecordset.
    Al momento della connessione non ottengo alcun errore e il server di MySQL è già avviato.
    Dove sbaglio? E' giusto utilizzare il comando AddNew per inserire i record, credo di si visto che è una funzione di CRecordset? Forse da
    qualche parte devo settare le proprietà di lettura/scrittura del DB, ma dove? Sotto windows (XP) la cartella che contiene le tabelle del DB hanno già il
    permesso in scrittura.

    Aggiungo che se mi connetto a DB di Access tutto funziona correttamente. Perchè?

  2. #2
    ciao a tutti,

    scusate se insisto ma c'è qualcuno che abbia esperienza di db MySQL e/o che possa darmi una mano a risolvere il mio problema?

    Io non riesco ad inserire i record nel DB neanche utilizzando gli applicativi di mysql (mysql administrator, mysql query browser, ...)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.