1

一意の識別子である ID に基づいて、グリッドビューとデータベースから行を削除する必要があります。以下の私のコードでは、「認識されていない Guid 形式」というエラー メッセージが表示されます。修正する方法はありますか?

         protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {

       string id = GridView1.Rows[e.RowIndex].Cells[0].Text;

        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        SqlCommand command = new SqlCommand("Delete", conn);
        command.CommandType = CommandType.StoredProcedure;

        command.Parameters.Add("@ID", SqlDbType.UniqueIdentifier);
         command.Parameters["@ID"].Value = new System.Guid(id); 
        command.Connection.Open();
        command.ExecuteNonQuery();

        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(command);
        da.Fill(ds);

        GridView1.DataSource = ds;
        GridView1.DataBind();
        command.Connection.Close();

    }
4

2 に答える 2

0

ID 文字列でGuid.TryParseを使用すると、何が起こっているかがわかります。

于 2012-05-02T03:12:57.097 に答える
0

これを試して:

Guid theGuid = new Guid();
System.Data.SqlTypes.SqlGuid.Parse(theGuid.ToString());

SqlCommand への Guid パラメータの追加

于 2012-05-02T06:00:27.233 に答える