PDA

View Full Version : بدست اوردن اخرین رکورد ثبت شده



haamidd
دوشنبه 09 تیر 1393, 14:20 عصر
سلام دوستان.
من میخوام با کلیک کردن بر روی یک دکمه، هم مقادیر در sql server ذخیره بشه و هم مقدار id اون مطلب درج شده رو بهم برگردونه

nice_boy_a
دوشنبه 09 تیر 1393, 14:37 عصر
سلام.
اگه ID به صورت اتوماتیک میخوره:

SELECT TOP 1 * FROM Table ORDER BY ID DESC

اگه هم ID رو به صورت دستی می فرستی که نباید مشکلی داشته باشی!

ahmad156
دوشنبه 09 تیر 1393, 16:56 عصر
از دستور MAX استفاده کنین

haamidd
سه شنبه 10 تیر 1393, 15:27 عصر
دوستان من میخوام وقتی کاربر روی دکمه کلیک میکنه اطلاعات مورد نظر بره و در sql server ثبت بشه و id ای که برای همین مطلب ایجاد شده رو برام برگردونه!

من چند جا دیدم که نوشتن @@identity
ولی این اصلا کار نمیکنه و یا من نمیدونم چجوری کار میکنه


در ضمن من با DataSet کار میکنم

nice_boy_a
سه شنبه 10 تیر 1393, 15:31 عصر
دوستان من میخوام وقتی کاربر روی دکمه کلیک میکنه اطلاعات مورد نظر بره و در sql server ثبت بشه و id ای که برای همین مطلب ایجاد شده رو برام برگردونه!

من چند جا دیدم که نوشتن @@identity
ولی این اصلا کار نمیکنه و یا من نمیدونم چجوری کار میکنه


در ضمن من با DataSet کار میکنم

چندین راه حل جلو پات گذاشتن! نباید مشکلی باشه!
idی جدولت identity هست؟
کدهای ثبت رو بزار ؟

ahmad156
سه شنبه 10 تیر 1393, 16:55 عصر
ببخشید من سوالتون رو دقیق نخونده بودم.روش ها بالا جواب میده ولی نه همیشه.بهترین گزینه استفاده از Stored Procedure و SCOPE_IDENTITY هست.

CREATE PROCEDURE [dbo].[AddUser]
(
@firstname NVARCHAR(45),
@lastname NVARCHAR(45),
@username NVARCHAR(45),
@password NVARCHAR(128),
@email NVARCHAR(45),
@website NVARCHAR(45),
@mobile NVARCHAR(45),
@gender bit
)

AS
BEGIN
INSERT INTO users (firstname,lastname,username,[password],email,website,mobile,gender) VALUES
(@firstname,@lastname,@username,@password,@email,@ website,@mobile,@gender);
SELECT SCOPE_IDENTITY() AS lastUserId;

END

البته این زمانی درسته که ID جدول Auto Increament باشه