2012-01-27 71 views
-1

當我使用複選框選擇gridview時,我希望它將數據插入到數據庫中,但它不會添加它。我的代碼如下,請看我的錯在哪裏。使用gridview中的複選框插入選定的數據

public partial class HomeTeamCheckList : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     LiveGameReporting Window 
     SubmitLineUp.Attributes.Add("onclick", "PassValues();"); 

     SubmitLineUp.Text = "Submit " + Session["HomeTeam"] + "'s Line Up"; 
    } 

    protected void SubmitLineUp_Click(object sender, EventArgs e) 
    { 
     String GameID = string.Empty; 
     String Name = string.Empty; 
     String Number = string.Empty; 

     int GKGVCount = GoalKeeperGridView.Rows.Count; 


     foreach (GridViewRow gkrow in GoalKeeperGridView.Rows) 
     { 
      GameID = (String)Session["GameID"]; 
      Number = gkrow.Cells[0].Text; 
      Name = gkrow.Cells[1].Text; 

      SqlConnection connection = new SqlConnection(("Data Source=ROBEL-HP;Initial Catalog=RocoSportsDB;Integrated Security=True")); 

      { 
       SqlCommand cmd = new SqlCommand(); 
       cmd.Connection = connection; 
       cmd.CommandText = @"INSERT INTO HTLineUp (GameID, HomeTeamLineUpNo, HomeTeamLineUpName) VALUES (@GameID,@Number,@Name)"; 

       cmd.Parameters.AddWithValue("@GameID", GameID); 
       cmd.Parameters.AddWithValue("@Number", Number); 
       cmd.Parameters.AddWithValue("@Name", Name); 

       cmd.ExecuteNonQuery(); 
      } 
     } 
    } 
} 
+0

根本沒有錯誤消息 – Seesharp 2012-01-27 19:41:22

+0

您需要設置斷點並查看執行的具體內容。這很可能不是你想要的。 – 2012-01-27 19:44:56

+0

其實我得到它的工作謝謝 – Seesharp 2012-01-27 19:45:10

回答

1

兩個想法:

  • 使用try-catch來看看,如果你得到任何SQL錯誤。
  • 檢查cmd.ExecuteNonQuery();的返回值,看是否有任何行實際受到影響/插入。

像這樣:

SqlConnection connection = new SqlConnection(("Data Source=ROBEL-HP;Initial Catalog=RocoSportsDB;Integrated Security=True")); 
try 
{ 
    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = connection; 
    cmd.CommandText = @"INSERT INTO HTLineUp (GameID, HomeTeamLineUpNo, HomeTeamLineUpName) VALUES (@GameID,@Number,@Name)"; 

    cmd.Parameters.AddWithValue("@GameID", GameID); 
    cmd.Parameters.AddWithValue("@Number", Number); 
    cmd.Parameters.AddWithValue("@Name", Name); 

    // use a debugger to see if any rows were actually affected/inserted 
    int rowsAffected = cmd.ExecuteNonQuery(); 
} 
catch(SQLException error) 
{ 
    // Use a debugger to see if you are getting an error on execution 
    string errorText = error.message; 
} 

你的查詢串看起來不錯,所以它可能是一個權限錯誤。但上述步驟將幫助您追蹤。