2016-12-03 17 views
0

私はmysqlデータベースから移入するgridviewを持っています。グリッドビューに代理キー列(id)があり、すべての行に削除オプションがあります。mySqlソースからgridviewから削除

問題データベースの削除コマンドで何を削除するかを指定する方法がわかりません。

私は、次のこれまでに得た:

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    int row = int.Parse(GridView1.Rows[e.RowIndex].FindControl("id").ToString()); // THIS IS WRONG! 

    String connString = ConfigurationManager.ConnectionStrings["MySql"].ToString(); //Conn string 

    MySqlConnection mySqlConnection = new MySqlConnection(connString); //Objekt 
    MySqlCommand cmd = new MySqlCommand(); //cmd objekt 

    cmd.CommandText = "DELETE * FROM `PostDb` WHERE `id` = " + row; 
    cmd.CommandType = CommandType.Text; 
    cmd.Connection = mySqlConnection; 

    mySqlConnection.Open(); 
    GridView1.DataSource = cmd.ExecuteReader(); 
    GridView1.DataBind(); 
    mySqlConnection.Close(); 
} 

何かが私のrowと間違っています。私がやっている残りが正しいかどうかは分かりません。

私はnull参照

+0

はまだ答えを探していますか? – Nitin

+0

私はそれを働かせました。私ができるときに回答を投稿します:-) –

+0

素晴らしい。私は答えようとしていたので、私は尋ねたのです:) – Nitin

答えて

0

を取得し、このようなあなたのQUERYからSTAR(*)を削除します。

cmd.CommandText = "DELETE FROM `PostDb` WHERE `id` = " + row; 
+0

私はそれを試しました。しかし、私の行変数から次のものを取得しています "オブジェクト参照がオブジェクトのインスタンスに設定されていません。" –

+0

は、PostDBのTablenameまたはデータベース名です。データベースの場合は、** DELETE FROM PostDB.your_table_nameのような表を指定する必要があります。WHERE id = ... ** –

+0

クエリは正しいですが、null参照は "row"から来ています。何らかの理由でIDが見つからないことを意味しますか? –

関連する問題