luca1293
31-08-2012, 15:44
Buonasera a tutti,
premetto che sono nuovo nel campo della programmazione in C#. Mi è stato dato da fare un progetto che consiste nella gestione di un database con un'applicazione creata in c#. Utilizzo Visual Studio Express 2010 e SQL Server Express 2008.
Il problema sta nel fatto che l'esecuzione della query Insert, pur non dando errori, non mi inserisce all'interno del Database (chiamato Database1.mdf) i dati recuperati dalla form.
Ecco il codice:
private void cmdinsutente_Click(object sender, EventArgs e)
{
string connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
try
{
string codice = txtcod.Text;
string nome = txtnome.Text;
string cognome = txtcognome.Text;
string login = txtlogin.Text;
string pass = txtpass.Text;
string admin = cboadmin.Text;
string query = "INSERT INTO Utenti (Codice_Utente, Nome, Cognome, Login, Password, Administrator) VALUES (@codice, @nome, @cognome, @login, @pass, @admin)";
SqlCommand insert = new SqlCommand(query, conn);
insert.Parameters.AddWithValue("@codice", codice);
insert.Parameters.AddWithValue("@nome", nome);
insert.Parameters.AddWithValue("@cognome", cognome);
insert.Parameters.AddWithValue("@login", login);
insert.Parameters.AddWithValue("@pass", pass);
insert.Parameters.AddWithValue("@admin", admin);
conn.Open();
insert.ExecuteNonQuery();
}
catch (SqlException errore)
{
Console.WriteLine("Error: " + errore);
}
finally
{
conn.Close();
string message = "Vuoi continuare ad inserire utenti?";
string caption = "Form di richiesta";
var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo);
if (result == System.Windows.Forms.DialogResult.No)
{
this.Close();
}
else
{
txtcod.Text = "";
txtnome.Text = "";
txtcognome.Text = "";
txtlogin.Text = "";
txtpass.Text = "";
cboadmin.Text = "";
}
}
}
Cosa è sbagliato? Come risolvere il problema?
Grazie del vostro aiuto,
Luca.
premetto che sono nuovo nel campo della programmazione in C#. Mi è stato dato da fare un progetto che consiste nella gestione di un database con un'applicazione creata in c#. Utilizzo Visual Studio Express 2010 e SQL Server Express 2008.
Il problema sta nel fatto che l'esecuzione della query Insert, pur non dando errori, non mi inserisce all'interno del Database (chiamato Database1.mdf) i dati recuperati dalla form.
Ecco il codice:
private void cmdinsutente_Click(object sender, EventArgs e)
{
string connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
try
{
string codice = txtcod.Text;
string nome = txtnome.Text;
string cognome = txtcognome.Text;
string login = txtlogin.Text;
string pass = txtpass.Text;
string admin = cboadmin.Text;
string query = "INSERT INTO Utenti (Codice_Utente, Nome, Cognome, Login, Password, Administrator) VALUES (@codice, @nome, @cognome, @login, @pass, @admin)";
SqlCommand insert = new SqlCommand(query, conn);
insert.Parameters.AddWithValue("@codice", codice);
insert.Parameters.AddWithValue("@nome", nome);
insert.Parameters.AddWithValue("@cognome", cognome);
insert.Parameters.AddWithValue("@login", login);
insert.Parameters.AddWithValue("@pass", pass);
insert.Parameters.AddWithValue("@admin", admin);
conn.Open();
insert.ExecuteNonQuery();
}
catch (SqlException errore)
{
Console.WriteLine("Error: " + errore);
}
finally
{
conn.Close();
string message = "Vuoi continuare ad inserire utenti?";
string caption = "Form di richiesta";
var result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo);
if (result == System.Windows.Forms.DialogResult.No)
{
this.Close();
}
else
{
txtcod.Text = "";
txtnome.Text = "";
txtcognome.Text = "";
txtlogin.Text = "";
txtpass.Text = "";
cboadmin.Text = "";
}
}
}
Cosa è sbagliato? Come risolvere il problema?
Grazie del vostro aiuto,
Luca.