ورود

View Full Version : بدست آوردن اطلاعات یک رکورد با کد



babak869
سه شنبه 30 مهر 1387, 17:37 عصر
با سلام
من میخوام با استورپروسیجر یا تابع بتونم اطلاعات داخل یک رکورد رو بدست بیارم . مخصوصا کدهای باینری اطلاعات ذخیره شده یک عکس در یه فیلد Blob

مثلا طبق کد زیر که با استفاده از نرم افزار Microsoft Database Publishing Wizard تهیه شده تمامی اطلاعات ساختار جداول و استورپروسیجرها و تریگرها و .... ر. میده اما من فقط این قسمت مد نظرمه :



INSERT [dbo].[Main_Table] ([id], [name], [family], [pic_address]) VALUES (8, N'احسان', N'امینی', ,0x424D3610000000000000360000002800000020000000200 00000010020000000000000000000C40E0000C40E000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 0000000000000000000000000000000000)


تاکید من بیشتر در بدست آوردن مقادیر یک رکورده مخصوصا اطلاعات فیلدی که عکس توش ذخیره شده !!!
اگه بشه این کد رو با یه تابع یا استورپروسیجر بدست آورد ، دیگه میشه اطلاعات رکوردها رو در یه فایل متنی ذخیره کرد و توی هرجدول با ساختار مشابه ذخیره کرد
اگه راهنماییم کنید ممنون میشم

AminSobati
سه شنبه 30 مهر 1387, 23:39 عصر
دوست عزیزم،
اگر منظورتون اینه که میخواین اطلاعات باینری رو به فایل تبدیل کنید، به کمک Integration Services در کمتر از 2 دقیقه امکان پذیره! باید Export Column انجام بدین

babak869
چهارشنبه 01 آبان 1387, 07:57 صبح
ممنون از جوابتون
من میخوام از این استورپروسیجر در دلفی استفاده کنم . نمیخوام از ابزارهای آماده استفاده کنم وگرنه همون Microsoft Database Publishing Wizard تمامی کدها رو میده . من میخوام اون تابع یا پروسیجری که اینطور کد اطلاعات و مقادیر رکوردها رو برمیگردونه داشته باشم.
متشکرم

AminSobati
چهارشنبه 01 آبان 1387, 23:40 عصر
تمام Data Provider ها اعم از BDE و ADO امکان خواندن اطلاعات باینری و ذخیره به شکل فایل رو دارند

babak869
پنج شنبه 02 آبان 1387, 09:26 صبح
ببخشید مثل اینکه من منظورمو خوب توضیح ندادم.
آیا استورپروسیجری هست که مثلا با یه پارامتر مثل شماره رکورد بهش پاس کرد اونوقت بجای نمایش اطلاعات اون رکورد در یه گرید (در محیط کوئری دیزاینر) اطلاعات اون رکورد رو به صورت زیر نمایش بده :



(8, 'احسان', 'امینی', ,0x424D3610000000000000360000002800000020000000200 00000010020000000000000000000C40E0000C40E000000000 000000000000000000000000


یعنی خروجی این پروسیجر اطلاعات باینری اون رکورد باشه نه اینکه در گرید اون فیلد رو بصورت عنوان BLOB نمایش بده.

AminSobati
پنج شنبه 02 آبان 1387, 23:13 عصر
این برمیگرده به Grid. در حقیقت SQL Server به شکل باینری میده ولی Grid خودش BLOB نمایش میده

babak869
جمعه 03 آبان 1387, 12:09 عصر
ببینید.توی این آدرس برنامه ای هست که دقیقا اون کاری رو که مد نظر بنده ست انجام میده . و صددرصد هم از یه استورپروسیجر خاص استفاده میکنه

http://www.microsoft.com/downloads/details.aspx?familyid=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en

اگه شما اونو اجرا کنید و یه بانکی که دارای فیلد عکس باشه انتخاب کنید دقیقا تمامی مقادیر بانک رو بصورت بالا که توضیح دادم برمیگردونه.

من اون پراسیجر رو میخوام . اگه کمک کنید ممنون میشم
موفق باشید

AminSobati
شنبه 04 آبان 1387, 00:43 صبح
دوست عزیزم مشخص نیست شما میخواین در Grid نمایش بدین یا در فایل!! برای Grid که در پست قبلی عرض کردم. برای فایل هم میتونین از BCP.EXE استفاده کنین که از داخل SQL Server با xp_cmdshell قابل فراخوانیه

babak869
شنبه 04 آبان 1387, 09:28 صبح
ممنون از جواتون
من میخوام استورپروسیجری رو که این اطلاعات رو برمیگردونه داشته باشم و اونو در دلفی اجرا کنم و اطلاعات رو در یه فایل ذخیره کنم.در سیستم مقصد هم فقط اون فایل رو دریافت کنه و از طریق یه روال ، اون اطلاعات مجددا رکورد به رکورد در پایگاه داده مقصد وارد و ذخیره بشه

AminSobati
شنبه 04 آبان 1387, 23:22 عصر
BCP رو در Books Online ببینید

babak869
دوشنبه 06 آبان 1387, 19:33 عصر
دقیقا این همون کاریه که من میخوام . فقط میشه اون استورپروسیجری که این کارو انجام میده بدست آورد؟ مسلما تایپ دستورات BCP در cmd باید باعث اجرای یه پروسه خاص بشه که بتونه اطلاعات رو در یه فایل بنویسه . میشه اونو بدست آورد؟

AminSobati
سه شنبه 07 آبان 1387, 23:38 عصر
خیر BCP از SP استفاده نمیکنه