Visual C#プログラムに挿入するときに最後に挿入されたIDを取得したいとします。挿入/更新クエリから最後に挿入されたIDの戻り値を取得
// Insert to database
try
{
int result = int.Parse(tblClipManagerTableAdapter.InsertQuery(textBox2.Text, textBox1.Text).ToString());
MessageBox.Show(result.ToString());
}
catch (Exception ex) {
MessageBox.Show("Fejl: " + ex.Message.ToString());
}
エラー:「オブジェクト参照がオブジェクトのインスタンスに設定されていません」。
tblClipManagerTableAdapter.InsertQuery実行モードをスカラーに設定しました。
現在のコードと設定で最後に挿入されたIDを返す方法についてのヘルプはありますか?
ローカルSQLデータベース(dbClipManager.sdf)を使用します。
EDIT
敬具私は私が使用できる何かを見つけたと思います。
しかし、私はこれに非常に新しいです。コードを完全に書く方法がわからない? これは、接続を開くのではなく、データセットを使用するために使用され、SQL cmdsを実行します。 :O/
http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/1d1d3267-dc29-470b-bb20-00487a39bc87/
敬具
も、SQL Server 2000で使用すると、@@ IDを使用しないでください。 – HLGEM
@HLGEMあなたは正しいです...ありがとう。私は何らかの理由で2005年に 'SCOPE_IDENITY()'が追加されたと思っていましたが、2000年に追加されました。 –
@MichaelFredrickson非常に迅速な答えをありがとうございます。 UPDATE/INSERTの不一致を申し訳ありません。私は私の質問を編集しました。 私は今、テーブルアダプター(tblClipManagerTableAdapter.InsertQuery)の実行モードをスカラーに設定しました。 try/catchにも同じエラーが表示されます。 どこにSCOPE_IDENTITY()を挿入しますか? – user1281991