GridViewをSqlDataSourceにバインドしてAutoGenerateEditButtonをtrueに設定し、フィールド(このフィールドはデータベースの主キー)を更新しようとすると、データベースはエラーを返し、したがってSqlExceptionをスローする必要がありますか?GridViewが例外を報告しない
なぜページで例外が報告されないのですか?代わりに、すべてのGridviewは、その行のすべてのフィールドを元の値に戻します。
私は次のコードで同じ更新ステートメントを実行すると、私はがID列「社員」例外を更新できませんなったので、私は、GridViewコントロールが更新しようとしたときに、SQL Serverが同じエラーを報告しなかったと仮定していますしかし、何らかの理由で例外が発生していなかった。
ところで SqlConnection sc = new SqlConnection();
sc.ConnectionString = @"Data source=localhost; integrated security=sspi; initial catalog=northwind;";
SqlCommand sComand = new SqlCommand();
sComand.Connection = sc;
sComand.CommandText = "update Employees set EmployeeId=100,FirstName='Suzy',"+
"LastName='Smile',City='Moon' where EmployeeId=1";
sc.Open();
int I = sComand.ExecuteNonQuery();
- 私は "=設定DataKeyNamesでEmployeeIを試してみましたD」が、例外はまだ
ありがとうを上げていなかった
EDIT:
こんにちは、
早く返信ないため申し訳ありませんが、私は返事を持って気づいていません。
とにかく、何らかの理由でこれが動作しています。つまり、GridViewは例外を報告します。だから私は自分のコードでいくつかの間違いを犯しているに違いないが、私のコードを絶え間なく書き直すことで、間違いがどこにあるのか分からない。あなたの時間を無駄にするために申し訳ありませんが、エラーとあなたのコードを見てみると
私はこれを言うためにここに来ました+ 1 – Meff
しかし、GridViewと同じ更新ステートメントを実行した上記コードはSqlExceptionを報告しましたが、Gridviewはなぜですか? – SourceC
プロパティ - > EnableModelValidation = "true"を設定しないかぎり、GridViewコントロールは例外を呑み込むように見えます。 –