Вставка выбранных данных с помощью флажка из сетки - PullRequest
0 голосов
/ 27 января 2012

Когда я выбираю в сетке вид с помощью флажка, я хочу, чтобы он вставлял данные в базу данных, но не добавляет их.Мой код ниже, пожалуйста, посмотрите, где я иду не так.

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

1 Ответ

1 голос
/ 28 января 2012

Две мысли:

  • Используйте 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;
 }

Строка запроса выглядит нормально, поэтому это может быть ошибка прав доступа. Но описанные выше шаги помогут вам отследить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...