Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Come salvare un colore in un campo di un db?
mercoledì 21 dicembre 2005 - 12.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
GuardianOfTheFlame
Profilo
| Junior Member
112
messaggi | Data Invio:
mer 21 dic 2005 - 12:41
Ciao a tutti,
devo leggere e scrivere da/su un database ( uso MS Access 2003) il colore di un oggetto linea sul database. Come devo creare il campo (integer?) e come devo gestire il salvataggio? Ci sarà un modo + furbo di creare un immenso select x ogni colore (System.Drawing.Color) quando leggo/scrivo!
Grazie a tutti,
Salo
P.S.: in realtà uso Visual Studio 2005 Professional quindi il framework è il 2.0, ma l'opzione ancora non c'è!
schifidus
Profilo
| Junior Member
92
messaggi | Data Invio:
mer 21 dic 2005 - 14:37
Cosa intendi per un immenso select? Bisognerebbe capire la tua reale necessitàma io ti consiglio di serializzare l'oggetto in un file di testo (XML o vedi tu).
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 21 dic 2005 - 14:41
>Ciao a tutti,
>devo leggere e scrivere da/su un database ( uso MS Access 2003)
>il colore di un oggetto linea sul database. Come devo creare
>il campo (integer?) e come devo gestire il salvataggio? Ci sarà
>un modo + furbo di creare un immenso select x ogni colore (System.Drawing.Color)
>quando leggo/scrivo!
Perchè non immagazzinare semplicemente la tripletta di RGB in esadecimale o sottoforma di tre interi ?
#FFFFFF in un varchar oppure 255,255,255, 3 campi interi, oppure serializzandolo come già consigliato ma mi sembra una cosa troppo macchinosa per lo scopo.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
GuardianOfTheFlame
Profilo
| Junior Member
112
messaggi | Data Invio:
mer 21 dic 2005 - 16:33
Grazie a tutti,
Credo di essermi spiegato male. In pratica ho su un oggetto che rappresenta un disegno un insieme di oggetti Linea, Rettangolo, TextBox. Ognuno di questi viene salvato in un'apposita tabella di un db con le sue varie proprietà (Id, Posizione, etc.). Tra queste, devo salvare anche il colore dell'oggetto.
Quando carico il disegno, in pratica leggo tutti i record nella tabella Linee ( analogamente x gli altri oggetti nel disegno ) e le ricreo secondo le informazioni contenute nel database.
Ho risolto in questa maniera e mi sembra funzioni:
1) al salvataggio del disegno, salvo l'informazione del colore con l'istruzione (scrivo sul db):
drRiga("Color") = ColorTranslator.ToWin32(Disegno.LineColor)
dove drRiga è un DataRow e la proprietà LineColor dell'oggetto Disegno (istanza di Metadraw) è di tipo System.Drawing.Color
2) al caricamento del disegno, creo l'oggetto nel metadraw con l'istruzione (leggo dal db):
Disegno.LineColor = ColorTranslator.FromWin32(drRiga("Color"))
in pratica ColorTranslator mi trasforma un tipo Color in un intero, per esempio il nero lo salva come 0.
Vi pare giusto?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 23 dic 2005 - 16:22
>in pratica ColorTranslator mi trasforma un tipo Color in un intero,
> per esempio il nero lo salva come 0.
>Vi pare giusto?
Si va bene anche così.
Cmq. ripeto che la serializzazione in questo caso è la cosa migliore perchè trasforma un oggetto, una serie di oggetti o addirittura una gerarchia dala memoria a file su disco o database. E al contrario li ripristina da disco in memoria.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
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 !