|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
[C# E SqlConnection]
Ciao ragazzi,
spero proprio che qualcuno riesca ad aiutarmi... Sn alle prese con un inserimento dati all'interno di un Database.mdf e ho un problema legato alla connessione. Premetto di utilizzare Sql Express 2005 e C# come linguaggio di programmazione in Visual Studio 2005 Express. Cio' che vorrei fare è inserire, al seguito di un evento button_click, in un database vuoto, i campi prelevati da alcune TextBox opportunamente riempite. Il tutto è espresso tramite il seguente codice... Codice:
protected void btnprenota_Click(object sender, EventArgs e) { string connstring = @"Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Stella\Desktop\DotNetNuke\App_Data\Database.mdf;Integrated Security=True;User Instance=True;"; SqlConnection conn = new SqlConnection(connstring); string myInsertQuery = "INSERT INTO Prenotazioni ([ESAME PRENOTATO],[NOME],[COGNOME],[MATRICOLA],[DATA ESAME]) VALUES (@ESAMEPRENOTATO,@NAME,@SURNAME,@MATRIC,@DATAESAME)"; SqlCommand cmd = new SqlCommand(myInsertQuery,conn); SqlParameter parameter1 = new SqlParameter("@ESAMEPRENOTATO",SqlDbType.Char,50); parameter1.Value = TextBox2.Text; cmd.Parameters.Add(parameter1); SqlParameter parameter2 = new SqlParameter("@NAME",SqlDbType.Char,50); parameter2.Value = txtName.Text; cmd.Parameters.Add(parameter2); SqlParameter parameter3 = new SqlParameter("@SURNAME",SqlDbType.Char,50); parameter3.Value = txtCognome.Text; cmd.Parameters.Add(parameter3); SqlParameter parameter4 = new SqlParameter("@MATRIC",SqlDbType.Char,10); parameter4.Value = txtMatricola.Text; cmd.Parameters.Add(parameter4); SqlParameter parameter5 = new SqlParameter("@DATAESAME",SqlDbType.Char,10); parameter5.Value = TextBox3.Text; cmd.Parameters.Add(parameter5); //instance failure???!! conn.Open(); //giusto??? cmd.ExecuteNonQuery(); conn.Close(); } } Please...Help me...Grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
E' dovuto al fatto che la connessione devi aprirla sempre prima di effettuare qualsiasi tipo di query, altrimenti al momento in cui mandi in esecuzione il sqlcommand, trova la connessione al db chiusa.
Per fare un esempio semplice: Codice:
string connString = "tua_connessione"; SqlConnection cn = new SqlConnection(connString); //ora dobbiamo aprirla: cn.Open(); //faccio quello che mi serve.... SqlCommand cmd = new SqlCommand(tua_query, cn); //e poi non devo dimenticare di chiuderla: cn.Close(); //meglio ancora se il tutto lo gestiamo tramite "try/catch" try { string connString = "tua_connessione"; blablablabla } catch(SqlException ex) { //gestisci l'eventuale eccezione; }
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Ti ringrazio, dopo aver spostato l'apertura al database, ho controllato anche la stringa di connessione e a livello sintattico andava corretto un particolare che mi mandava in failure l'apertura...ora inserisce i dati nella tabella come vorrei.
Grazie ancora ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:53.