PDA

View Full Version : ارسال یک Table برای client



www2006
سه شنبه 17 بهمن 1385, 17:57 عصر
سلام
برای ارسال اطلاعات حاصل از اجرای یک StoredProc ( که اگر در یک DBGrid بخواهیم نمایش دهیم 4 ستون و چندین سطر میشود ) برای Client چه راهی پیشنهاد میکنید ؟

vcldeveloper
چهارشنبه 18 بهمن 1385, 08:12 صبح
یعنی چی؟! دقیقا منطورتون چیه؟! با داده های برگشت داده شده از یک SP هم مثل یک DataSet معمولی برخورد میشه.

www2006
چهارشنبه 18 بهمن 1385, 18:55 عصر
یعنی چی؟! دقیقا منطورتون چیه؟! با داده های برگشت داده شده از یک SP هم مثل یک DataSet معمولی برخورد میشه.

من از طریق Indy با کلاینتها ارتباط برقرار میکنم ... بعد از برقراری ارتباط کاربر با سرور ، میخوام یه Storedproc ( که ورودی آن شمارهء کاربریست که کانکت شده است ) روی دیتابیس سرور اجرا شود و خروجی آن ( که یک جدول است ) برای کاربر ارسال شود ..
با یه جستجوی تقریبا مفصل تو سایت ( و البته خارج از سایت ) به مطالبی دربارهء برقراری ارتباط از طریق DCom ویا SocketConnection و استفاده از DataSetProvider و ClientDataSet برخوردم ..
حالا میخوام بدونم از این راهها باید مقادیر مورد نظر برای Client ارسال بشه و یا از طریق خود Indy هم این امکان وجود داره ؟؟

vcldeveloper
پنج شنبه 19 بهمن 1385, 07:44 صبح
به مطالبی دربارهء برقراری ارتباط از طریق DCom ویا SocketConnection و استفاده از DataSetProvider و ClientDataSet برخوردم ..
این یعنی استفاده از DataSnap. در صورت استفاده از DataSnap، داده های بانک اطلاعاتی شما بصورت خودکار بین Application Layer و Client ها منتقل میشه و شما لازم نیست نگران نحوه انتقال اونها باشید، فقط برنامه بانک اطلاعاتی خودتون رو می نویسید.
اگر می خواید خودتون دستی اقدام کنید، می تونید داده های برگشت داده شده از SP را در یک StringList ذخیره کنید و StringList را به Client منتقل کنید. Client هم می تونه داده های StringList را به اشکال مختلف نمایش بده، مثلا در یک Memo، یا اونها رو در یک جدول محلی ذخیره کنه و داده های جدول رو با یک DBGrid نمایش بده و...

www2006
جمعه 20 بهمن 1385, 11:28 صبح
این یعنی استفاده از DataSnap. در صورت استفاده از DataSnap، داده های بانک اطلاعاتی شما بصورت خودکار بین Application Layer و Client ها منتقل میشه و شما لازم نیست نگران نحوه انتقال اونها باشید، فقط برنامه بانک اطلاعاتی خودتون رو می نویسید.
اگر می خواید خودتون دستی اقدام کنید، می تونید داده های برگشت داده شده از SP را در یک StringList ذخیره کنید و StringList را به Client منتقل کنید. Client هم می تونه داده های StringList را به اشکال مختلف نمایش بده، مثلا در یک Memo، یا اونها رو در یک جدول محلی ذخیره کنه و داده های جدول رو با یک DBGrid نمایش بده و...

بدلیل فرصت کم (در یادگیری استفاده از DataSnap ) انتخاب راه دوم را منطقی تر میدانم ..
اگه نحوهء ذخیرهء داده های برگشتی را در یک StringList توضیح دهید ممنون میشوم ..
چیزی که من پیدا کردم اینطوریه :


StringList.Add('d') ;
StringList.Add('a') ;
StringList.Add('b') ;
ولی نمیدونم خروجی SP رو چطوری تک تک بدست بیارم .. در ضمن مثلا ذخیرهء(فرضا) 10 ردیف برگشتی SP چطور در یک StringList انجام میشه ..؟

کد SP :


create proc CLSE_Letter_GetTitles
@LReciver integer
AS
select Lid,LTitle,ldate,LSenderID
from letters
where UReciverID = @LReciver

GO

www2006
جمعه 20 بهمن 1385, 15:43 عصر
حرفهای پست قبلیم را پس میگیرم ... نظرم کاملا عوض شد .. از DataSnap استفاده میکنم ..:خجالت:

( یه چند ساعتی باهاش سروکله زدم دیدم کار کردن با ابزارهاش زیاد سخت نیست )

ب- تات
چهارشنبه 22 فروردین 1386, 09:31 صبح
میشه بپرسم جطور با indy به دیتا بیس ارتباط برقرار میکنید؟

Touska
چهارشنبه 22 فروردین 1386, 11:19 صبح
میشه بپرسم جطور با indy به دیتا بیس ارتباط برقرار میکنید؟


... نظرم کاملا عوض شد .. از DataSnap استفاده میکنم ..

موفق باشید :)

www2006
چهارشنبه 22 فروردین 1386, 13:10 عصر
میشه بپرسم جطور با indy به دیتا بیس ارتباط برقرار میکنید؟

با توجه به مطلبی که در یکی دیگه از تاپیکها ارسال کرده اید :


من کارم طوری هست که باید از شهرستان ها اطلاعات دیتابیس به استان منتقل بشه و سپس یک برنامه اطلاعات هر شهرستان رو به تفکیک جمع و تجمیع کنه برای همین باید از یک طریقی مثل اینترنت این اطلاعات به سرور استان منتقل کنم.(طولانی بود اما خیلی درگیرشم)
بهترین کار استفاده از DataSnap است ( چون خواسته شما را دقیقا ً برآورده می کند ).

اگر هم تا حالا از امکاناتی که دلفی تو این زمینه داره استفاده نکردین ، پیشنهاد من برای شروع این لینکه :
آموزش لایه میانی (+ COM) (http://www.barnamenevis.org/forum/showthread.php?t=59232)

البته ( قبلا ً ) در این باره سایر دوستان هم مطالب مفید دیگری نوشته اند ... بگردی پیدا میکنی ...

ب- تات
شنبه 25 فروردین 1386, 12:13 عصر
تشکرم از راهنمائی شما

ب- تات
شنبه 25 فروردین 1386, 12:25 عصر
آیا لینکی دارید که یک مثال عملی در این مورد زده شده باشه یا یک راهنمائی جامع تر البته اون لینمی که گفتید هم کمک بزرگی بود (آموزش لایه میانی (+ COM))

ب- تات
شنبه 25 فروردین 1386, 12:27 عصر
لینمی = لینکی

ب- تات
شنبه 25 فروردین 1386, 12:33 عصر
لینمی = لینکی

www2006
یک شنبه 26 فروردین 1386, 10:01 صبح
آیا لینکی دارید که یک مثال عملی در این مورد زده شده باشه یا یک راهنمائی جامع تر البته اون لینمی که گفتید هم کمک بزرگی بود (آموزش لایه میانی (+ COM))

مثال عملی که خیلی زیاده .. نزدیکترینش هم تو پوشه ی Demo در مسیریست که دلفی رو نصب کرده اید ...
دنبال پوشه ی Midas بگردید .. مثالهای مختلفی اونجا هست که میتونه کمک کنه ...