2011-12-17 12 views
0

私は私のデータベースにフォームからデータを挿入しようとしていると、このエラーがスローされます。フォームからASP.Netの挿入データに

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

は、多分それはその事実に関係しています私はドロップダウンリストからデータを取得しようとすると、私は本当に構文が素晴らしいとは思わない。ここで

は、コードは次のとおりです。

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

答えて

2

あなたは、問題は、あなたが全体のテキストボックスを使用しようとしていることを値

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

をされていたVARSのいずれかを使用して-weren'tパラメータの値として使用します。

変更:

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

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

関連する問題