Checkbox med flere valgte
Er ved at omskrive et lille beskedsystem fra access database til MSSQL, men får fejl når der skal sendes en besked til alle.Den sender godt nok beskederne til de valgte modtagere, men brokker sig over det. :-(
Koden er
string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection MyConnection = new SqlConnection();
MyConnection.ConnectionString = conn;
MyConnection.Open();
String MyString = "INSERT INTO Beskeder (Hvem,Emne,Besked,Modtager)";
//Her sættes værdien
MyString += "VALUES (@Hvem, @Emne, @Besked, @Modtager)";
SqlCommand MyCommand = new SqlCommand(MyString, MyConnection);
try
{
for (int i = 0; i < ModtagerC.Items.Count; i++)
{
if (ModtagerC.Items[i].Selected)
{
MyCommand.Parameters.Add("@Hvem", SqlDbType.VarChar);
MyCommand.Parameters.Add("@Emne", SqlDbType.VarChar);
MyCommand.Parameters.Add("@Besked", SqlDbType.VarChar);
MyCommand.Parameters.Add("@Modtager", SqlDbType.VarChar);
MyCommand.Parameters["@Hvem"].Value = Convert.ToString(Session["Hvem"]);
MyCommand.Parameters["@Emne"].Value = EmneT.Text;
MyCommand.Parameters["@Besked"].Value = BeskedT.Text;
MyCommand.Parameters["@Modtager"].Value = ModtagerC.Items[i].Value;
Session["modtager"] = ModtagerC.Items[i].Value;
MyCommand.ExecuteNonQuery();
Fejl.Text = "";
Log();
}
}
}
catch (Exception exept)
{
//Udskriver fejlen
Response.Write(exept);
}
MyConnection.Close();
Fejlen er System.Data.SqlClient.SqlException: The variable name '@Hvem' has already been declared. Variable names must be unique within a query batch or stored procedure.
Jeg kan selvfølgelig lade være med at have den til at skrive fejlen ud, men ville hellere have løst problemet. :)