La insert che non esiste....

venerdì 10 agosto 2007 - 23.27

MaxLinus Profilo | Newbie

Ciao Ragazzi intanto piacere di conoscervi mi sono iscritto oggi dopo aver conosciuto per la prima volta questo stupendo blog.
Vado al mio problema. Da circa 2 mesi studio .NET (sono un javista) per scopi lavorativi e a casa mi dileto nel fare qualche prova.
Ho sviluppato una piccola applicazioncina di schedario ma ho problemi nell'inserimento dei valori sul DB.
Da premettere che ho windows vista e SQL server 2005 Express Edition incluso in VS 2005.

Il problema è questo:
Effettuo la insert ma al termine dell'applicazione non vedo la insert sul db, nonostante questa avvenga in modo corretto. Quando chiudo il form e vado a controllare i dati sul db vedo sempre e solo quelli inseriti a mano in un primo momento. L'applicativo fa la insert (_infatti se cerco di leggere i dati dall'applicativo vedo i nuovi dati), ma quando lo chiudo non persistono sul db. Avevo pensato di forzare la commit con una transazione, ma anche così non va. Sto uscendo pazzo. Mi date una mano?

Per comodità ho emesso tutti i controlli per le eccezioni:


SqlConnection conn = SqlConnection(stringaDiConnessione);
string insert = "INSERT INTO DatiAnagrafici"+
"(nome, datadinascita, luogodinascita,"+
"statocivile, soprannome, domicilio, telefono, foto) "+
"values ('" +textBox1.Text+"',"+
"convert(datetime,'"+textBox2.Text+"'),"+
"'" + textBox3.Text + "',"+
"'" + textBox4.Text + "',"+
"'" + textBox5.Text + "',"+
"'" + textBox6.Text + "',"+
"'" + textBox7.Text + "',"+
"null)";
SqlTransaction tx = conn.BeginTransaction();
SqlCommand command = new SqlCommand(insert,conn);
command.Transaction = tx;
int i =command.ExecuteNonQuery();
tx.Commit();

denis.basei Profilo | Senior Member

Hai provato ad eseguire la query senza usare transaction? Sei sicuro che la stringa di connessione al db sia corretta?
Non programma in Java ma il linguaggio è comunque familiare e non vedo al primo sguardo evidenti errori, se non quello che ti ho detto di verificare...


ciao

Denis

Cteniza Profilo | Guru

1) prova ad utilizzare i parametri piuttosto di quella porcheria di istruzione sql che hai scritto :))
http://community.visual-basic.it/lucianob/articles/18386.aspx
2) prova ad eseguire il tuo programma al di fuori dell'ide (dalla cartella bin) se funziona vuol dire che devi impostare nel database presente nel tuo progetto che non faccia la copia ad ogni compilazione

MaxLinus Profilo | Newbie

Ragazzi grazie ho cmq risolto.
Alcune precisazioni:
1) il linguaggio è c# e non java :-)
2) la insert l'ho riportata così di proposito proprio per non tar qui a scrivere tutti i parameter.addwithvalue

dicevo che ho risolto il problema come ho scritto in questo post dove n'altro utente aveva lo stesso identico problema, ma non riesco a capire alcune cose. Se avete voglia di leggere la mia risposta e aiutarmi ve ne sarei grato:

http://www.dotnethell.it/forum/messages.aspx?ThreadID=17233

Ciao e grazie
Max
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5