1

sql には emp というテーブルがあります。

emp(emp_id int IDENTITY primary key, EmployeeName varchar(50),.......)

上記のテーブルにレコードを挿入したい。これがasp.netの私のコードです。

DBconnection dbcon = new DBconnection();
string query = "insert into emp values('" + TextBox_EmpName.Text + "','" + ....);
int no1 = dbcon.insertQuery(query);

emp-relation という別のテーブルがあります

 emp-relation(emp_id int primary key, count int, ....) 
     -- foreign key (emp_id)references emp(emp_id)

私の問題は、emp行を挿入するときです.autoemp_idで作成されたので何がわかりません。emp-idそして、 emp-relation に挿入するときは、外部キーなので取得したいです。

これどうやってするの?タイムスタンプなどに従って、Sqlの最後の挿入行を読み取る方法はありますか? 本来、挿入されたタイムスタンプに従ってレコードがソートされていないと思います。私を助けてください。

4

1 に答える 1

0

基本的に2つの方法があります。最初の方法は、最初の挿入クエリから新しいIDを返すことです。

insert into emp values(...)
select scope_identity() as NewID

2番目の方法は、リレーションテーブルに挿入するときに最初の行を検索することです。

insert  emp-relation
        (emp_idm, ...) 
select  emp_id
,       ...
from    emp
where   emp_name = @EmpName

参照を一意にするために十分な列を渡す必要があります。

于 2012-06-04T16:34:03.170 に答える