Sto creando un progetto in cui ho bisogno di eseguire 2-3 comandi sql in una singola connessione sql. Qui è il codice che ho scritto:Come eseguire più comandi SQL in una singola connessione SQL?
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\project.mdf;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("select * from " + mytags.Text + " ", con);
SqlDataReader rd = cmd.ExecuteReader();
if (rd.Read())
{
con.Close();
con.Open();
SqlCommand cmd1 = new SqlCommand("insert into " + mytags.Text + " values ('[email protected]','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','"+mytags.Text+"')", con);
cmd1.ExecuteNonQuery();
label.Visible = true;
label.Text = "Date read and inserted";
}
else
{
con.Close();
con.Open();
SqlCommand cmd2 = new SqlCommand("create table " + mytags.Text + " (session VARCHAR(MAX) , Price int , Description VARCHAR(MAX), Date VARCHAR(20),tag VARCHAR(10))", con);
cmd2.ExecuteNonQuery();
con.Close();
con.Open();
SqlCommand cmd3 = new SqlCommand("insert into " + mytags.Text + " values ('" + Session + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + mytags.Text + "')", con);
cmd3.ExecuteNonQuery();
label.Visible = true;
label.Text = "tabel created";
con.Close();
}
Ho provato a rimuovere l'errore e ho ottenuto che la connessione non è andare a condizione else. Si prega di rivedere il codice e suggerire se c'è qualche errore o qualsiasi altra soluzione per questo.
cosa succede se si dispone già di una tabella con lo stesso nome ma non ci sono dati in esso? Hai anche considerato cosa succede se qualcuno digita SQL in una delle tue caselle di testo che stai inserendo? – Greg