2010年8月23日月曜日

SCOPE_IDENTITY()の型はDecimal

表題の通り(C#)

SqlConnection con = new SqlConnection();
SqlCommand cmd
 = new SqlCommand("INSERT INTO ...(略); SELECT SCOPE_IDENTITY();", con);
int i = (int)cmd.ExecuteScalar();
con.Close();

実際にはobject型で返ってくるのだが、内部的にdecimalなのでそのままintにキャストしようとすると
エラーとなってしまう。

こんな感じか。

int i = (int)(decimal)cmd.ExecuteScalar();

0 件のコメント:

コメントを投稿