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
Getdate() con dataset
mercoledì 06 settembre 2006 - 10.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mer 6 set 2006 - 10:17
ho questo problema:
strumenti:
db: sql server
prog: visual basic.net
in un programma faccio una query di inserimento e in un campo datetime voglio utilizzare la funzione di sql server getdate()
se io invece, per l'inserimento utilizzo il dataset, come faccio ad utilizzare tale funzione?
ciao
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mer 6 set 2006 - 14:21
cosi mi prende l'ora del pc in cui è in esecuzione il programma, mentre con getdate() l'ora del server.
altri metodi?
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
mer 6 set 2006 - 15:24
scusa ma...i dati dove risiedono fisicamente??
anche se usi un dataset...e un data adapter...non puoi fare lo stesso una query sql personale con la funzione getdate() ??? ..non capisco..
---------------
Piscopo Paolo
:: wD @ IRCnet :: .NET wannabe 8-)
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mer 6 set 2006 - 16:07
>scusa ma...i dati dove risiedono fisicamente??
>
>anche se usi un dataset...e un data adapter...non puoi fare lo
>stesso una query sql personale con la funzione getdate() ???
>..non capisco..
>---------------
>Piscopo Paolo
>
>:: wD @ IRCnet :: .NET wannabe 8-)
Esatto..anche se uni dataset non cambia nulla perchè è una struttura locale..devi usare il command con una query o una store procedure su server..
Andy
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mer 6 set 2006 - 18:52
si infatti dataset o altro e' uguale.
cmq potresti fare nel seguente modo:
aprire la tabella in design mode selezionare il campo data che ti interessa e mettere la proprieta 'default value' = getdate()
cosicche verra' inserita la data del server al momento dell'INSERT e non ci sara' neanche bisogno di richiamare tale campo nella query:
quindi per esempio se hai una tabella con i seguenti campi: campo1,campo2, campodata
la query sara' cosi:
INSERT INTO tabella(campo1,campo2) VALUES ('Valore1','Valore2')
saluti
ENzo
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
lun 11 set 2006 - 10:00
già fatto ma non funziona perchè il dataset con il metodo addrow se un campo non lo inserisci lui mette null ma se mette null non prende il valore di default getdate()
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
lun 11 set 2006 - 11:55
Scusa e se fai cosi:
INSERT INTO tabella(campo1,campo2,campodata) VALUES ('Valore1','Valore2',getdate())
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
lun 11 set 2006 - 12:45
allora non uso il dataset! e il dataadapter e SqlCommandBuilder ... o sbaglio? (Il plus del .net...)
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
lun 11 set 2006 - 13:43
non ho capito!!
puoi spiegarti meglio!
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mar 12 set 2006 - 11:51
Se io faccio:
m_DataRow = m_DataTable.NewRow
m_DataRow("campo1") = valore1
m_DataRow("campodataorainserimento") = dataattuale
m_DataTable.Rows.Add(m_DataRow)
in questo modo ho aggiunto una riga nel dataset in quella tabella
Con il Command Builder creo le istruzioni di aggiornamento
cmdBuilder = New SqlClient.SqlCommandBuilder(m_SqlDataAdapter)
m_SqlDataAdapter.InsertCommand = cmdBuilder.GetInsertCommand
apro una transazione
m_Transaction = cndb.BeginTransaction
Associo la transazione al SqlAdapter
m_SqlDataAdapter.InsertCommand.Transaction = m_Transaction
aggiorno il db con tutte le modifiche di insert update o delete
m_SqlDataAdapter.Update(m_DataSet, "TABELLA1")
salvo la transazione
m_Transaction.Commit()
facendo in questo modo il db lo modifico una sola volta in un colpo solo e non tengo transazioni aperte durante eventuali calcoli del mio programma (il plus dei nuovi dataset di .net)
il problema è che non riesci a fare:
m_DataRow("campodataorainserimento") = getdate()
blood
Profilo
| Senior Member
291
messaggi | Data Invio:
mar 12 set 2006 - 12:23
la devi associare ad un command ed eseguire un command.ExecuteNonQuery() nella quale gli fai fare la getdate() sul server SQL !!
---------------
Piscopo Paolo
:: wD @ IRCnet :: .NET wannabe 8-)
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mar 12 set 2006 - 13:14
si dovresti fare una cosa del genere:
dim query as string ="INSERT INTO tabella(campo1,campo2,campodata) VALUES ('Valore1','Valore2',getdate())"
dim cmd as new sqlcommand(query, connessione)
cmd.executenonquery()
saluti
ENzo
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mar 12 set 2006 - 13:15
si dovresti fare una cosa del genere:
dim query as string ="INSERT INTO tabella(campo1,campo2,campodata) VALUES ('Valore1','Valore2',getdate())"
dim cmd as new sqlcommand(query, connessione)
cmd.executenonquery()
saluti
ENzo
gab82
Profilo
| Junior Member
76
messaggi | Data Invio:
mar 12 set 2006 - 14:54
quello che dice Piscopo Paolo se non sbaglio è una select getdate() perchè se faccio l'insert non uso il dataset... e torniamo al discorso di prima.
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 !