Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve a tutti,
sono di nuovo qui con un nuovo problema spero di essere abbastanza chiaro, in ogni caso, mi spiegherò al meglio.
Ho un database locale (Sql Server Compact 4.0) contentente una tabella (Film) con 3 campi: ID(di tipo int), FilmName (di tipo nvarchar) e Locandina(di tipo nvarchar). Lo scopo del mio software è prelevare questi dati ed inserirli in determinati controlli: 2 label e 2 picturebox che conterranno rispettivamente il titolo del film e l'url della locandina che verrà assegnato alle picturebox tramite la proprietà ImageLocation. Bene, spiegato (spero bene) il funzionamento, ora mi ritrovo in un codice lungo e macchinoso
Codice sorgente - presumibilmente C#
string comando ="SELECT * FROM [Film] WHERE ID = "+(contatore);
string comando2 ="SELECT * FROM [Film] WHERE ID = "+(contatore + 1);
in questo modo, popolo "correttamente" i controlli, ma, da come potete constatare, è un codice "orrendo", ovvero, ogni volta che devo inserire una label e un'altra picturebox devo fare questo procedimento che richiederebbe più tempo
e più memoria.
Avete qualche soluzione?
Mi scuso per la mia scarsa elaborazione della domanda, per altri chiarimenti chiedetemi pure.
Vi ringrazio in anticipo.
Ultima modifica effettuata da Best il 21/08/2011 alle 21:39
Ciao, è altamente probabile che non abbia capito il problema, perchè io farei semplicemente cosi:
1- Aggiungo un Panel alla form (Magari uno AutoFlowLayoutPanel)
2- compilerei il codice cosi:
Codice sorgente - presumibilmente VB.NET
'Costruisco una stringa con la lista degli ID da prelevare.
'quindi la passo al database con una unica string SQL
dim comando asString="SELECT * FROM [Film] WHERE ID in ( "& contatore &","& Contatore +1&")"
DimCommandasnew SqlCeCommand (Comando,conn)
Dim reader as SqlCeDataReader =Command.ExecuteReader()
Dowhile reader.read()
Dim lbl asnew Label
Dim Px asnew PictureBox
lbl.text= reader.item(1).Tostring
px.ImageLocation= reader.item(2).Tostring
Panel.Controls.Add(lbl)
Panel.Controls.Add(px)
Loop
Ovviamente il codice è in VB ma puoi facilemnte transponderlo in C#