View Full Version : روش مقدار دهی فیلد کلید
Delphi7_love
چهارشنبه 24 آذر 1389, 20:53 عصر
با سلام خدمت دوستان
چطور باید مقدار فیلد کلید را در برنامه های تحت شبکه ایجاد کنیم که تداخل با دیگر کاربران پیش نیاد؟
vcldeveloper
پنج شنبه 25 آذر 1389, 00:09 صبح
بستگی به نوع اون فیلد کلید، نوع استفاده شما از آن فیلد در برنامه، و نوع بانک اطلاعاتی مورد استفاده شما داره؛ بعضی بانک های اطلاعاتی مثل Firebird امکان تعریف Generators دارند. در بسیاری از بانک های اطلاعاتی، شما می تونید مقداردهی به اون فیلد را برعهده بانک اطلاعاتی بگذارید، و خودتان بهش مقدار ندید، یا اینکه خودتان در داخل بانک از طریق Trigger مقدار مورد نظرتان را به فیلد مربوطه بدید، نه از داخل برنامه. یک جا هم ممکنه مجبور باشید مقدار فیلد را مستقیما از کاربر دریافت کنید، در اون صورت، مجبورید مقدار فیلد را به همان شکل به بانک بفرستید، و اگر بانک از تکراری بودن مقدار ایراد گرفت، به کاربر خطای مناسب نمایش بدید.
مسئله بعدی هم دریافت مقدار داده شده به فیلد کلید هست، یعنی در صورتی که لازم باشه مقدار فیلد بعد از ثبت به کاربر نمایش داده بشه، باید مقداری که بانک یا Trigger یا Generator به اون فیلد اختصاص داده، به کاربر نمایش داده بشه. برای این کار بعضی بانک ها توابع اختصاصی دارند. بعضی از ابزارهای اتصال به بانک (مثل ADO) هم این امکان را فراهم می کنند که در اکثر موارد مقدار فیلد کلید به طور خودکار به کاربر برگشت داده بشه، و نیازی نباشه که برنامه نویس برای آن کوئری مستقلی بنویسه.
در ضمن، این سوال به تالار شبکه مربوط نمیشه؛ منتقل شد به تالار بانک های اطلاعاتی در دلفی.
Delphi7_love
پنج شنبه 25 آذر 1389, 23:28 عصر
من میخوام مقدار فیلد کلید از کاربر گرفته شه ، از کدوم روش باید برم ؟
بانک : sql server 2005
vcldeveloper
شنبه 27 آذر 1389, 22:15 عصر
من میخوام مقدار فیلد کلید از کاربر گرفته شه ، از کدوم روش باید برم ؟
یک جا هم ممکنه مجبور باشید مقدار فیلد را مستقیما از کاربر دریافت کنید، در اون صورت، مجبورید مقدار فیلد را به همان شکل به بانک بفرستید، و اگر بانک از تکراری بودن مقدار ایراد گرفت، به کاربر خطای مناسب نمایش بدید.
-----------
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.