Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-06-2010, 21:20   #1
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
[c#] sql server 2005: costraint nn funziona

ciao a tutti ho un problema che non riesco davvero a risolvere

ho definito a livello di db una tabella e in una colonna ho creato un costraint
che ogni volta che inserisco un recod mette il la data corrente.

il problem è che se faccio l'insert da db funziona
se faccio l'insert da form c# non funziona cioè nella colonna data viene messo null!

db è sql server 2005

come mai?

grazie
Gianluca
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2010, 11:29   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
La colonna nel database l'hai scritta cosi?

Codice:
CREATE TABLE [Test] (
....
[datetime] DEFAULT (getdate()) )
Se e' cosi', immagino che la tua form stia anche dichiarando esplicitamente il valore NULL per quella colonna, durante la insert.
Non devi assegnare alcun valore a quella colonna durante la insert, e allora il valore di default verra' imposto.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2010, 13:28   #3
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
ciao e per prima cosa grazie della risposta.

questo problema mi sta facendo ammattire.

allora la mia tabella era già esistente e dopo ho aggiunto il constraint cosi:

ALTER TABLE dbo.t_blacklist
ADD CONSTRAINT
data_corrente DEFAULT getdate() FOR dt_insert

poi da visual studio, lavoro con t-sql, e ho usato la seguente sintassi per popolare alcuni campi, fare la insert e committare, però non dò nessun valore alla data.
ecco cosa scrivo:


//istanza della tabella
t_blacklist tbList = new t_blacklist();

//la connessione col db
MyConnectionDB_SCDataContext conDb = new MyConnectionDB_SCDataContext();

//aggiorno due campi della tabella
tbList.NEW_CARD = Convert.ToInt64(newSC.Text);
tbList.OLD_CARD = Convert.ToInt64(oldSC.Text);

//effettuo l'insert a db
conDb.t_blacklists.InsertOnSubmit(tbList);

//effettuo il commit a db
conDb.SubmitChanges();


il campo dell'id della tabella a cui ho assegnato il vincolo di indentity invece funziona correttamente.

è davvero strano, spero riusciamo a risolvere il problema.
grazie mille
gianluca
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2010, 14:21   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Se stai usando l'entity framework immagino che la definzione della tabella t_blacklist e del gestore di questa tabella per andare a leggere/scrivere i record, passi NULL sotto quella colonna quando stai inserendo il singolo record

Occorre andare a vedere come "Insegnare" all'entity framework a trattare quel tipo di colonna.
Hai provato semplicemente a rinfrescare i metadati dopo aver aggiunto il constraint?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2010, 15:24   #5
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
dopo aver aggiunto il copstraint ho
1. fatto refresh sulla tabella da management studio
2. fatto refresh da visual studio nella parte dove aggiorno la tabella
e rimappata la tabella nel file di connessione.


devo fare altro?
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2010, 18:16   #6
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
allora mettendo un breakpoint subito dopo avre eseguito il comando
conDb.t_blacklists.InsertOnSubmit(tbList);
conDb.SubmitChanges();

ho che la data è valorizza a null
mentre il campo id (su db è cn vincolo di identity) è valorizzato al valore che incrementa ogni volta.

che test posso fare altro?

Grazie
Gianluca
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2010, 18:39   #7
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
ok!!! ho capito e risolto!!

allora il problema era il seguente:

accedendo ai campi della tabella mappata da VISUAL STUDIO ho
visto che i seguenti campi erano cosi valorizzati:

Auto Generated Value = false
Auto-sicn = never

mettondoli a true e oninsert ha funzionato.

però mi chiedo e vi chiedo queste opzioni vanno impostate da visual studio?
però per il campo del ID (con vincolo identity) i campi Auto Generated Value e Auto-sicn erano già valorizzati a true e onsinert.


Grazie del supporto
Gianluca
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Starship: Ship 40 continua a galleggiare...
UMC investe su Singapore e Tainan per ri...
Steam Machine, novità sulle code:...
Anche Foxconn abbandona VMware e sceglie...
Windows 11 migliora l'accessibilit&agrav...
WhatsApp introduce il nuovo widget per i...
Blink Mini da 12,99€ e Pan-Tilt a 19,99€...
Oracle porta le applicazioni agentiche d...
Guizzo di fine mese Amazon: tutte le off...
ROG Strix Aiolos: SSD esterni con veloci...
PS Plus Essential, annunciati i giochi g...
Il 70% della Gen Z non uscirebbe con chi...
Noleggio sociale, c'è una sorpres...
Zeekr 9X sbarca in Europa con motore Sup...
Neuralink mostra un nuovo test: la carro...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v