C#を使用してSQL Serverから最後の数値を取得するにはどうすればよいですか?SQLからC#を使用して最後の数値コードを取得
例:私は顧客番号保存した場合
「200、」私は新しい顧客を追加するために、新しいフォームで「201」を、それを表示する必要があります。
C#を使用してSQL Serverから最後の数値を取得するにはどうすればよいですか?SQLからC#を使用して最後の数値コードを取得
例:私は顧客番号保存した場合
「200、」私は新しい顧客を追加するために、新しいフォームで「201」を、それを表示する必要があります。
テーブルの最後のID値を表示しないで、ユーザーがフォームに記入している間、同じIDを保持する必要があります。第2のユーザは、第1のユーザが入力中に入ってレコードを追加することができる。
通常の解決策は、ユーザーがレコードを保存した後に番号を表示することです。確認番号として。あなたは、このようにそれを行うことができます。
CreateCustomer.sql
CREATE PROC CreateCustomer(@Name AS VarChar, @Number AS int OUTPUT)
AS
BEGIN
INSERT Customer(Name) VALUES(@Name)
SET @Number = SCOPE_IDENTITY()
END
あなたのDAL
var cmd = new SqlCommand("CreateCustomer", conn);
cmd.Parameters.AddWithValue("@Name", customerName);
cmd.Parameters.Add(new SqlParameter("@Number", SqlDbType.Int){ Direction = ParameterDirection.Output});
cmd.ExecuteNonQuery();
MessageBox(String.Format("New customer created with a customer number of: {0}", cmd.Parameters["@Number"].Value));
でM.Aliはすでにコメントしたよう。それをしないでください。
あなたは2つのオプションがあります:あなたはIDとしてGUID
を使用することができます別の方法として
INSERT dbo.Users(Username)
VALUES('my new name');
SELECT NewID = SCOPE_IDENTITY();
:
Auto Increment Feature、その後select the inserted idを使用します。これは、データベースに連絡せずにクライアントサイドIDが必要な場合に便利です。
みなさんありがとう – yaqoop
「最後のコード」は次のコードとは関係ありません。あなたのコードがあなたの新しいコードを保存するまでに時間がたつにつれて使用される数十もあるかもしれません。 – Plutonix
簡単な答え「しないでください」 –