0

idデータベースに書き込んだばかりの行から取得するにはどうすればよいですか?

基本的に、ASP.NET には 2 つのテーブルに書き込む必要がある予約フォームの機能がありますが、テーブル 1 に書き込まれた ID をテーブル 2 にも格納する必要があります。

そう:

  1. に書くtable 1
  2. から取得idするtable 1
  3. に書くtable 2

どうすればこれを達成できますか?

よろしくお茶

4

2 に答える 2

0

SQL Serverを使用している場合SCOPE_IDENTITY()

http://msdn.microsoft.com/en-us/library/ms190315.aspx

INSERT INTO Table1 ...

DECLARE @RecordID int = SCOPE_IDENTITY()

INSERT INTO Table2 ... VALUES (@RecordID....)

SELECTストアド プロシージャを使用せずに、SQL の末尾にステートメントを追加できます。

cmd.CommandText = "INSERT INTO Table 1 ...... ; SELECT SCOPE_IDENTITY()"
int recordId = (int)cmd.ExecuteScalar();
于 2012-11-20T11:19:01.633 に答える
0

Asp.Net と Sql 2008 サーバーでは、次のようにExecuteScalar関数を使用できます。

string query = "INSERT INTO Table1 (id_field) 
                OUTPUT SCOPE_IDENTITY()
                VALUES (...)";

また

string query = "INSERT INTO Table1 (...) VALUES (...); SELECT SCOPE_IDENTITY() ";

最後の例では、同じリクエストで INSERT を実行してから SELECT を実行していることに注意してください...

ID を取得するには、次を使用します。

int lastId = (int)command.ExecuteScalar();
于 2012-11-20T11:24:27.830 に答える