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

    [VB .NET] Recordset - Access, cosa sbaglio?

    Il programma quando clicco sul pulsante salva record mi salva il record, ma se poi devo salvarne un altro mi dà errore, questo accade ogni volta che nel database access c'è più di una riga già salvata. Come mai?

    codice:
    RS = New ADODB.Recordset()
            RS.Open("select * from UNIVERSO order by COORDINATE", CN, 1, 2)
    
            RS.AddNew()
    RS.Fields("COORDINATE").Value() = COORDINATE.Text
    RS.Fields("Giocatore").Value() = Giocatore.Text
    RS.Update()
    Perkè quindi se salvo in un database vuoto la prima volta non mi dà errore e poi appena è pieno invece sì?

  2. #2
    RS.Open("select * from UNIVERSO order by COORDINATE", CN, 1, 2)

    Ah dimenticavo, di questa riga UNIVERSO è la mia tabella, COORDINATE è il mio record, CN è la connessione

    CN = New ADODB.Connection()
    CN.Provider = "MICROSOFT.JET.OLEDB.4.0" 'ACCESS CONNECTION
    CN.Open("C:\percorsofile.....")

    1 e 2 che sono?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Qual e' l'errore?

  4. #4
    A database completamente vuoto non mi da errore, ma appena faccio il secondo save mi dà il seguente errore:


    Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
    sono riportate in fondo al messaggio.

    ************** Testo dell'eccezione **************
    System.Runtime.InteropServices.COMException (0x80040E21): L'apporto modifiche non è riuscito perché si è cercato di duplicare i valori nell'indice, nella chiave primaria o nella relazione. Modificare i dati nel campo o nei campi che contengono dati duplicati, rimuovere l'indice o ridefinire l'indice per consentire l'inserimento di voci duplicate, quindi ritentare l'operazione.
    at ADODB.RecordsetClass.Update(Object Fields, Object Values)
    at Space_Pioneers_Toolbars.Form2.MenuItem3_Click(Obje ct sender, EventArgs e) in C:\Documents and Settings\Nuke76\Desktop\Progetti\Space Pioneers Toolbars\Form2.vb:line 1144
    at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
    at System.Windows.Forms.MenuItemData.Execute()
    at System.Windows.Forms.Command.Invoke()
    at System.Windows.Forms.Control.WmCommand(Message& m)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
    at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
    at System.Windows.Forms.Form.WndProc(Message& m)
    at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
    at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  5. #5
    Cerco di spiegarmi meglio:

    Ho TABELLA composta dai campi NOME e COGNOME

    Al primo save dò ai campi NOME e COGNOME della prima riga i valori PAOLO e ROSSI

    Al secondo save dovrei aggiungere un altra riga con i valori FRANCESCO e TONDI

    Ed ottenere così una tabella così composta

    TABELLA
    NOME COGNOME
    PAOLO ROSSI 'Questo me lo prende a database vuoto
    FRANCESCO TONDI 'Questo quando lo inserisco e salvo mi dà errore

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... allora mi pare evidente ... Come dice l'errore hai duplicato un valore di un indice o di una chiave primaria.

    Quali sono i campi della tabella? Quali sono le chiavi primarie o gli indici? Quali sono i valori duplicati che tenti di scrivere la seconda volta?

  7. #7
    Allora la miatabela è composta da tutti questi campi:

    COORDINATE Testo
    Giocatore Testo

    Chiave primaria non lo messa proprio..... -_-

    I valori che tento di riscrivere la seconda volta sono gli stessi

    Desumo che il mio errore sia quindi l'assenza di chiave primaria che non mi permette di passare al secondo record (o seconda riga della tabella), come risolvo?

  8. #8
    Azz o risolto, o messo come COORDINATE chiave primaria e lo fatta diventare numerica, ed ora incrementando COORDINATE non mi dà errore.

    Sono idiota proprio.....

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... il problema era che c'era gia' una chiave primaria e tu inserivi lo stesso valore per la chiave.

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