ListBox - L'oggetto già c'è

domenica 27 agosto 2006 - 03.36

Hakai87 Profilo | Newbie

Ho creato due listbox collegati ognuno a due database diversi.Ora in un listbox ci sta il database contenente le informazioni che appaiono elencate nel listbox. Adesso io posso portare degli item del listbox appena descritto nell'altro. Il problema? è che vorrei che ne addasse al max 1 per tipo e no centinaia ... come posso fare?
Poi dopo con un tasto dovrei poter salvare nell'altro database le cose presenti in quest'ultimo listbox ma non so come fare a fargli salvare tutto da solo(in pratica come ho creato io dovrei ogni volta selezionare un item del listbox e cliccare su salva e così per tutti gli items e mi pare una cosa un po' scocciante) Ci sta un modo per far si che salvi tutti gli oggetti in righe diverse?
Poi voglio che quando seleziono un oggetto appaia in un picturebox il disegno relativo ... ho messo nel database(Fatto con Microsoft Access) l'immagine in una colonna ma non saprei come dare questa immagine alla picturebox. Mi sapete dire come?

[EDIT Sono riuscito a fargli salvare nel secondo database tutti gli elementi presenti nel listbox .. però vorrei che prendesse le altre colonne dall'altro database(nel senso ho il nome "ciccio" voglio che quando salva la nuova riga nel database con "ciccio" in nome prenda dall'altro database tutta la riga di "ciccio" e la memorizzi).
Poi quando salvo nel database gli items del listbox va tutto bene ma se poi riapro il programma aggiungo nuovi items al listbox e risalvo mi dà errore perchè vede che alcuni items sono già presenti nel database!come faccio a far si che aggiorni solo aggiungendo le righe che non ci sono?
Allora ho creato un ciclo for con un (int) i che ha come valore il numero delle righe presenti nel database; i< listbox.Items.Count; i++.
E all'interno vi è il codice che seleziona dalla listbox il valore i e lo aggiunge in una nuova riga nel database! se io ho ad esempio già una riga nel database i parte con valore 1! il problema è che se ci sono 2 elementi nella listbox non succede nulla(non salva il secondo elemento nel database visto che il primo già c'è) se invece sono in 3 mi fa questo errore: INDICE DELLA MATRICE OLTRE I LIMITI... che significa? aiuto
[/EDIT]

ciaociao

blood Profilo | Senior Member

> Il problema? è
>che vorrei che ne addasse al max 1 per tipo e no centinaia ...
>come posso fare?

Intercetti l'evento DragOver (che corrisponde all'inserimento di un nuovo elemento nel ListBox) e da lì con Listbox.Items ci effettui i relativi controlli manuali per far si che non si duplicano i dati

>Poi dopo con un tasto dovrei poter salvare nell'altro database
>le cose presenti in quest'ultimo listbox ma non so come fare
>a fargli salvare tutto da solo(in pratica come ho creato io dovrei
>ogni volta selezionare un item del listbox e cliccare su salva
>e così per tutti gli items e mi pare una cosa un po' scocciante)
>Ci sta un modo per far si che salvi tutti gli oggetti in
>righe diverse?
>Poi voglio che quando seleziono un oggetto appaia in un picturebox
>il disegno relativo ... ho messo nel database(Fatto con Microsoft
>Access) l'immagine in una colonna ma non saprei come dare questa
>immagine alla picturebox. Mi sapete dire come?

hai creato un campo Oggetto OLE per l'immagine?
Se sì, lui dovrebbe salvarsi il collegamento ipertestuale nel db (se non erro) , quindi dovresti andare a vedere qual'è il file dopodiche nella picturebox te lo prendi con l'Image.FromFile(); cmq sia secondo me questa è una soluzione abbastanza scomoda, in quanto non è come con SQL server che viene caricato il binario direttamente nel db e quindi poi con uno stream lo salvi sul file e lo esegui (senza specificare l'applicazione da usare, in quanto usa l'applicazione predefinita con il metodo Process(file); invece con il modo che fai tu ogni volta devi specificargli tu l'applicazione...e se non è presente sono casini

>mi fa questo errore: INDICE DELLA MATRICE
>OLTRE I LIMITI... che significa? aiuto
>[/EDIT]
>
>ciaociao

Questo errore te lo dà quando vai oltre un limite stabilito (se per es. provi a mettere 3 palline dentro 2 secchielli, quando in realtà ne vanno solo una per secchiello...)

---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

Hakai87 Profilo | Newbie

per il listbox credo di aver capito .. il problema rimane comunque il database ç_ç
for ( int i = uDataSet.Tables["ucarte"].Rows.Count; i < listDeck.Items.Count ;i++ )
{
listDeck.SetSelected(i, true);
myobj.uRow = uDataSet.Tables["ucarte"].NewRow();
myobj.uRow["NomeCarta"] = listDeck.SelectedItems[i].ToString();
myobj.uDataSet.Tables["ucarte"].Rows.Add(myobj.uRow);
myobj.uAdapter.Update(myobj.uDataSet, "ucarte");
}
questo è il codice che ho messo...e qui che mi dà quell'errore esattamente nella riga:
myobj.uRow["NomeCarta"] = listDeck.SelectedItems[i].ToString();
uff non so che fare :( a me sembra funga vada bene il codice bah!
Poi come faccio quindi a fargli memeorizzare anche le altre colonne prendendole da un altro database?
(i database sn simili,ma in uno ci sono tutte le carte nell'altro solo quelle che usi ç_ç)
ciao ciao e grazie per l'aiuto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5