0

I'm trying to insert data from a form to my database and it is throwing this error:

No mapping exists from object type System.Web.UI.WebControls.TextBox to a known managed provider native type.

Maybe it has to do with the fact that I try to get a data from a dropdownlist and I'm not really sure the syntax is great.

Here is the code:

 protected void Button1_Click(object sender, EventArgs e)
 {
 SqlConnection conn = new SqlConnection("Data Source=MICROSOF-58B8A5\\SQL_SERVER_R2;Initial Catalog=Movie;Integrated Security=True");
 conn.Open();
 string titleName = Title.Text;
 string sqlQuery = ("INSERT INTO Movies(Ganere, Title, Descreption) VALUES (@Ganere, @Title , @Descreption) ");
 SqlCommand cmd = new SqlCommand(sqlQuery, conn);
 cmd.Parameters.AddWithValue("Title", Title);
 string genre = GenreDropDown.SelectedIndex.ToString();
 cmd.Parameters.AddWithValue("Ganere", GenreDropDown);
 string descp = Descreption.Text;
 cmd.Parameters.AddWithValue("Descreption", Descreption);
 if (titleName == null || genre == null)
 {
 ErrorMessege.Text = "Please fill all of the fields.";
 }
 else
 {
 ErrorMessege.Text = "You have successfully add a movie!";
 cmd.ExecuteNonQuery();
 }
 conn.Close();
 }
competent_tech
45.1k11 gold badges95 silver badges114 bronze badges
asked Dec 17, 2011 at 21:05

2 Answers 2

2

You -weren't using any of the vars where you had the values

 string titleName = Title.Text;
 string sqlQuery = ("INSERT INTO Movies(Ganere, Title, Descreption) VALUES (@Ganere, @Title , @Descreption) ");
 SqlCommand cmd = new SqlCommand(sqlQuery, conn);
 cmd.Parameters.AddWithValue("Title", titlename);
 string genre = GenreDropDown.SelectedIndex.ToString();
 cmd.Parameters.AddWithValue("Ganere", genre);
 string descp = Descreption.Text;
 cmd.Parameters.AddWithValue("Descreption", descp);
 if (titleName == null || genre == null)
 {
 ErrorMessege.Text = "Please fill all of the fields.";
 }
 else
 {
 ErrorMessege.Text = "You have successfully add a movie!";
 cmd.ExecuteNonQuery();
 }
 conn.Close();
}
answered Dec 17, 2011 at 21:08
Sign up to request clarification or add additional context in comments.

Comments

1

The problem is that you are trying to use the entire textbox as the value to the parameter.

Change:

cmd.Parameters.AddWithValue("Title", Title);

to

cmd.Parameters.AddWithValue("Title", Title.Text);
answered Dec 17, 2011 at 21:08

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.