View Full Version : مشکل با نوع داده tinyint
mahdi_negahi
شنبه 29 اردیبهشت 1386, 21:16 عصر
سلام شاید عنوان تاپیکم درست نباشه که شما به بزرگیتان میبخشید
آقا من در بانک نوع داده tnyint دارم که هر مقدار آن میتواند معنی به خصوصی داشته باشد مثلا
1= ایزوله
2=پر
3-خالی
4=در حال بررسی
من میخوام در فرمی این مقداریر را پر کنم برای این کار یک فایل XML نوشتم و انرا Bind کردم به یک combobox که این جوری میتوانیم جلوگیری از ثبت مقادیر غلط کنیم و برای نمایش اطلاعات وارد شده هم از cast استفاده مکنم و همه چیز درسته ------- حالا مشکل کجاست؟
فرض کنید 1 ماه دیگه کارفرما بگه من یک مقدار 5 دارم که مثلا در حال انتظار comboBOX مشکل نداره چون XML تغییر میدم به راحتی ولی برای تغییر دادن Cast sql یکزه مشکل است آیا شما راهی به ذهتون خطور میکند ؟
AminSobati
یک شنبه 30 اردیبهشت 1386, 21:02 عصر
این XML شما در کجا نگهداری میشه؟ سمت دیتابیس؟
ضمنا هنوز مشکل شما و این داستان Cast نامفهومه، لطفا بیشتر توضیح بدین
hmm
دوشنبه 31 اردیبهشت 1386, 07:47 صبح
میتونید یه table دیگه بسازید که کد و شرح آیتم رو داره و combobox خود را به این جدول bind کنید و سپس با jion جدول اصلی واین جدول شرح آیتمها مشخص میشه و نیازی به cast هم ندارید
mahdi_negahi
دوشنبه 31 اردیبهشت 1386, 10:15 صبح
سلام این تاپیک من منتقل شده بود و منم نمیدونستم
بینید دوستان XML من در طرف دیتا بیس است ومن این comboBOX را برای این به XML اضافه کردم که از 100 سال دیکه اگر مقدار دیگری اضافه شد نرم جدول دستکاری کنم
<?xml version="1.0" encoding="utf-8" ?>
<BloodRH>
<rh name="انتخاب کنید" value="qqq"></rh>
<rh name="-" value="0"></rh>
<rh name="+" value="1"></rh>
</BloodRH>
این XML من که RH خون افراد مشخص میکند و مشخصه value مقدار tinyint که در DB ذخیره میشود
حال برای select کردن جدول از Query زیر استفاده میکنم
ُSelect (Case RH when 0 then '+' end )as RHname from paient
حالا من نمیخوام این case دستی عوض کنم
AminSobati
دوشنبه 31 اردیبهشت 1386, 12:43 عصر
امکانش نیست که اصلا XML استفاه نکنین؟ چون برای مشکل شما ساختار Relational کاملا جواب میده، چه الزامیه که XML باشه؟ جدول رو هم میتونین Bind کنین. اگر جدول داشته باشین میتونین مقادیر 0 تا n رو به همراه علامت مثبت و منفی (و شاید در صد سال آینده، ضرب!) در جدول ذخیره کنین.
mahdi_negahi
دوشنبه 31 اردیبهشت 1386, 14:39 عصر
میدونید ساختار جداول را نمیشه عوض کرد (به دلیل اینکه چندین برنامه دارند با این کار میکنند ) من XML درست کرده ام که در صدسال آینده اگر شماره n-1 آمد و معنی خاصی داشته باشد در ComboBox از ان استفاده کنیم
AminSobati
دوشنبه 31 اردیبهشت 1386, 22:54 عصر
اگر در SQL Server 2000 هستین، میتونین از OpenXML استفاده کنین تا نمای جدولی شکل از یک XML بگیرین و در حین Query، روی اون Case اعمال کنین. این آخرین شانس شماست! و اگر نه، سر و کارتون با Dynamic TSQL میافته.
در 2005 امکانات بیشتری در خصوص XML هست.
hmm
سه شنبه 01 خرداد 1386, 08:06 صبح
من باز متوجه اصرار شما به پیچیده شدن کار رو نمیدونم تمام کاری که xml برای شما انجام میده(تو این مورد خاص) جدول هم میتونه انجام بده
mahdi_negahi
سه شنبه 01 خرداد 1386, 09:08 صبح
ببنید اصرار من احمق بودن کاربر است و اینکه راحتی کار من چون نیازهای کاربر معلوم نیست ممکنه هر لحظه تغییر کنه و پشتیبانی سیستم با گروه دیگری است و همچنین اینکه در ساختار جدول نمی شه تغییر داد
در 2005 امکانات بیشتری در خصوص XML هست.
در 2005 هستیم میشه این امکانات را معرفی کنید
AminSobati
سه شنبه 01 خرداد 1386, 22:39 عصر
امکانات پردازش XML بیشتر شده در 2005. مثلا XQuery میتونین بگیرین که از OpenXML به مراتب قدرتمندتر و راحت تر هستش.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.