PDA

View Full Version : پروسیجر انتقال تیبل



sam166
شنبه 06 آذر 1389, 08:44 صبح
با سلام و عرض خسته نباشید
من در پروژم 3 جدول دارم
جدول اول :
جدول کاربران ثبت نام کننده که این جدول توسط مدیر سایت دیده شده و دو لینک تایید و رد دارد

جدول دوم :
جدول کاربران است که حاوی نام کاربری و پسورد است

جدول سوم :
جدول مشخصال کاربران است که حاوی نام و نام خانوادگی و تلفن و آدرس و...
در این جدول نیز کلید خارجی جدول دوم نیز هست

حالا سوال بنده این است که کاربر زمانی که ثبت نام کرد و مشخصالت کامل خود را در دیتابیس ذخیره کرد و مدیر لینک تایید را زد
چه طور نام کاربری و پسورد به جدول کاربران و بقیه مشخصاتش به جدول مشخصات برود؟

Reza_Yarahmadi
شنبه 06 آذر 1389, 09:10 صبح
اگر يك مقدار بيشتر توضيح بديد بهتر ميشه كمكتون كرد. كليك خارجي چي هست؟ همون نام كاربري است يا چيز ديگه ايه؟ ...؟
با فرض اينكه كليك همون نام كاربري باشه و جدول اول داري فيلدي با نام State باشه كه تاييد شدن (1) يا نشدن (0) كاربر رو تعيين كنه ميتونيد بصورت زير عمل كنيد.
Insert Into Tbl_2 (UserName, Password)
Select UserName, Password
From
tbl_1
Where
State = 1

Insert Into Tbl_3 (Name, Family, ...)
Select Name, Family, ...
From
tbl_1
Where
State = 1

Delete from Tbl_1
Where
State = 1

sam166
شنبه 06 آذر 1389, 10:04 صبح
ببینید
من در تیبل یوزر سه فیلد
Qty از نوع int فقط برای شماره ردیف
UserId از نوع nvarchar که کلید اصلی هست
password از نوع nvarchar

در جدول مشخصات 4 فیلد که همه از نوع Nvarchar هستند
UserId کلید خارجی
Fullname
Address
Tel

Reza_Yarahmadi
شنبه 06 آذر 1389, 10:15 صبح
اگر همه اين فيلدها رو توي جدول اوليه اي كه مدير كاربر رو تاييد ميكنه باشه ، ميتونيد با همون دستور و بصورت زير اين كار رو انجام بديد.
Insert Into Tbl_2 (UserId, Password)
Select UserId, Password
From
tbl_1
Where
State = 1

Insert Into Tbl_3 (UserId, Fullname, Address, Tel)
Select UserId, Fullname, Address, Tel
From
tbl_1
Where
State = 1

Delete from Tbl_1
Where
State = 1

sam166
شنبه 06 آذر 1389, 10:50 صبح
دستتون درد نکنه
دو تا سوال برام پیش اومده؟
1) زمانه که جداول را به هم ارتباط میدیم در قسمت INSERT And UPDATE Specification چه قسمتی رو انتخاب کنم
No Action
Cascade
Set Null
Set Default
البته میخوام زمانی که کاربر حذف شد ، اطلاعاتشم حذف شود

2) من UserId کاربر رو دارم حالا میخوام اطلاعاتشو از قبیل نام و نام خانوادگی ، آدرس ، تلفن و غیره رو از جدول مشخصال بر اساس id بخونم نمی دونم چه جوری از Select استفاده کنم
لطفا دستورش رو بگید

Reza_Yarahmadi
شنبه 06 آذر 1389, 11:02 صبح
1) زمانه که جداول را به هم ارتباط میدیم در قسمت INSERT And UPDATE Specification چه قسمتی رو انتخاب کنم
اين 2تا جدول فكر نميكنم نيازي به رابطه داشته باشند چون معمولا فيلد UserId غير قابل تغيير است.

البته میخوام زمانی که کاربر حذف شد ، اطلاعاتشم حذف شود
ميتونيد براي حذف ، حذف از 2 جدول رو توي يك Sp بياريد و خودتون رو درگير رابطه ها نكنيد.

من UserId کاربر رو دارم حالا میخوام اطلاعاتشو از قبیل نام و نام خانوادگی ، آدرس ، تلفن و غیره رو از جدول مشخصال بر اساس id بخونم نمی دونم چه جوری از Select استفاده کنم
لطفا دستورش رو بگید
چرا ميخوايد بر اساس Id جستجو انجام بديد؟ شما ميتونيد بر اساس همون UserId جستجو رو انجام بديد.
نميدونم شما چرا اين 2 جدول رو از هم جدا كرديد چون به هر حال براي هر كاربر توي هر جدول فقط يك ركورد وجود داره.:متفکر:

sam166
شنبه 06 آذر 1389, 11:16 صبح
نميدونم شما چرا اين 2 جدول رو از هم جدا كرديد چون به هر حال براي هر كاربر توي هر جدول فقط يك ركورد وجود داره.:متفکر:
من منظورم همون UserId بود .اشتباه تایپی بود:خجالت:

مشکل بنده هم همین هست که از هر طریقی که از دستور Select استفاده میکنم جواب نمیده
من دستور select رو میخوام

Reza_Yarahmadi
شنبه 06 آذر 1389, 11:21 صبح
مشکل بنده هم همین هست که از هر طریقی که از دستور Select استفاده میکنم جواب نمیده
من دستور select رو میخوام
منظورتون رو متوجه نميشم!! خب شما توي هر 2 جدول فيلد UserId رو داريد ، يك دستور ساده بنويسيد كه بر اساس UserId اطلاعات رو برگردونه‌. UserId هم همون نام كاربري است كه كاربر با اون لاگين كرده.

Select * From TableName Where UserId = @UserId