PDA

View Full Version : سوال: افزایش خودکار آی دی



hobab-theme
پنج شنبه 21 خرداد 1388, 15:38 عصر
سلام به تمام دوستان
یه سوال در مورد اس کیو ال دارم
توی دیتابیس مایکروسافت اکسس در صورتی که دیتا تایپ یه فیلد رو AutoNumber قرار بدیم با اضافه شدن یک رکورد جدید این عدد به طور خودکار یک واحد افزایش پیدا میکنه
من از اس کیو ال پیشفرض خود VS2008 استفاده میکنم . چون روی سیستم من هر کاری کردم اس کیو ال سرور 2005 نصب نشد که نشد که نشد
من هیچ دیتاتایپی رو از نوع AutoNumberتوی VS ندیدم . چطور میتونم از این خاصیت استفاده کنم.
بازم ممنون از همه دوستان
موفق و پیروز باشید:تشویق:

pesar irooni
پنج شنبه 21 خرداد 1388, 16:23 عصر
اگه منظورت ویزاردی که sql server رو تو vs نشون میده هنگام تعریف یه فیلد یه قسمت بنام Identity Specification توی Column Properties داره. تازه با دستور sql هم میتونی یه فیلد Identity تعریف کنی. مثلا هنگام تعریف فیلد و یا بعد از ساخت جدول یه alter table بزن و بنویس (Identity(int,1,1

hobab-theme
جمعه 22 خرداد 1388, 01:14 صبح
سلام دوست عزیز
ممنون از پاسخ شما
ولی متاسفانه من هنوز مبتدیم و راستشو بخوای چیز زیادی از این گفته شما نفهمیدم
اگه امکان داره یه خورده کاملتر توضیح بدید
ممنون

pesar irooni
جمعه 22 خرداد 1388, 03:31 صبح
جدولت رو همونجور که میخوای بساز فقط اون فیلد رو تعریف نکن. بعد این کوئری رو بنویس و اون رو اجرا کن:

alter table mytable add myID int IDENTITY(1,1)
اگه رو جدول راست کلیلک کنی قسمت نوشن کوئری رو میبینی

hobab-theme
دوشنبه 25 خرداد 1388, 00:47 صبح
ببخشید من چند بار امتحان کردم ولی بازم موفق نشدم
میشه یه خواهشی ازتون بکنم
اگه براتون امکان داره خودتو به عنوان مثال یه جدول با نام test بسازید بعد فیلد id اون رو به صورت AutoNumber در بیارید . بعد کدشو بدید.
ممنون

pesar irooni
دوشنبه 25 خرداد 1388, 01:45 صبح
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO
CREATE TABLE [dbo].[test] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[firstName] [nvarchar] (50) COLLATE Arabic_CI_AI_KS NULL ,
[lastName] [nvarchar] (50) COLLATE Arabic_CI_AI_KS NULL
) ON [PRIMARY]
GO

این کدی هست که خود sql برای جدول مورد نظر درست کرده.....

mohsen_csharp
دوشنبه 25 خرداد 1388, 11:17 صبح
این عکس رو ببین

hobab-theme
سه شنبه 26 خرداد 1388, 01:04 صبح
دوستان عزیزم pesar irooni و mohsen_csharp
ممنون . جوابم رو گرفتم . فیلد آی دی به صورت AutoNumber در اومد.
ولی میخوام یه سوال دیگه ازتون بپرسم
کدی رو که آقای "pesar irooni " اینجا گذاشتن رو باید توی Stored Procedures خود VS نوشت . حالا سوال من اینه که این کد رو چطور میتونم توی صفحات محتوا قرار بدم و جواب بگیرم. آخه اگر این کد رو به این شکل توی صفحه قرار بدم ارور میده . و اگر اگر به شکل معمول ( روش عادی ساخت جدول د صفحه محتوا ) عمل کنم نمیتونم از IDENTITY (1,1) استفاده کنم . چون بازم خطا میگیره
به کد زیر دقت کنید :


cmdCreateTbl = New SqlCommand("CREATE TABLE test(ID int IDENTITY (1, 1) NOT NULL,note nvarchar(max),PRIMARY KEY(ID)", con)

من از این کد برای ساخت یه جدول آزمایشی با نام تست استفاده کردم ( توی صفحه محتوا) و IDENTITY رو اضافه کردم و خطا تحویل گرفتم