thormayer
thormayer

Reputation: 1070

ASP.Net insert data from form to a database Exception

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();
    }

Upvotes: 0

Views: 608

Answers (2)

competent_tech
competent_tech

Reputation: 44961

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);

Upvotes: 1

jclozano
jclozano

Reputation: 628

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();
}

Upvotes: 2

Related Questions