PDA

View Full Version : يه جستو با خروجي چند سطري



mrm0101
پنج شنبه 05 آذر 1388, 15:27 عصر
سلام . مي خواهي خروجي يك كوئري كه يك فيلد است بصورت چند سطري نمايش دهيم و يا نتيجه را در يك memo يا dbmemo با چند سطر نشان داده شود آيا كسي چنين كاري انجام داده است . ( كار برد در يك پروژه ارسال اس ام اس )




select 'بسمه تعالي ' +char(13) +'همكار محترم : '+ firstname + lastname +char(13)+ 'مبلغ فيش حقوقي شما '+ lastamount+'مي باشد '+char(13)+ 'با تشكر '
as e from member
where personalcode =88888888



در كد بالا char(13) كه در دلفي براي ايجاد سطر جديد است بي اثر است . بجاي اين كد چه بايد كرد ؟
با تشكر

حسین شهریاری
دوشنبه 09 آذر 1388, 09:30 صبح
دوستان سلام

من که چیزی متوجه نشدم!!
اگه میشه یه مقدار بهتر توضیح بدید تا اینکه بنده یا دیگر دوستان بتونیم کمکی بکنیم.

mehdimdp
دوشنبه 09 آذر 1388, 09:50 صبح
فكر مي كنم اگه به جاي +char(13) اينو بنويسي كارت راه بيفته:


char(13)+char(10)

hadisalahi2
دوشنبه 09 آذر 1388, 09:51 صبح
دوست عزیز شما این کار رو نمیتونید در داخل دستور Select انجام بدید.
برای این کار ابتدا رکوردهای مورد نظر خود رو از جدول با دستور Select استخراج کنید، حالا میتونید در صورت استفاده از Adoquery ، تک تک قیلدها رو به داخل یک Memo اضافه کنید و قبل و یا بعدش یک متن اضافه کنید مثل زیر:



Memo1.lines.add('همکار محترم'+Adoquery1['FirstName'])

mrm0101
دوشنبه 09 آذر 1388, 12:45 عصر
سلام

منظورم من اين بود در محيطي شبيه اس كيول كه كار بر بتواند متن مورد نظر به همراه فيلد ها را خودش بنويسيد . بدون كد نويسي در محيط هاي سي شارپ يا دلفي
خود اس كيو ال دستور char(13) را دارد و يك مثال اينطور هم دارد ولي من هر كار مي كنم اين دستور غير فعال است و سطر جديد ايجاد نمي شود

دلفــي
دوشنبه 09 آذر 1388, 12:49 عصر
سلام . مي خواهي خروجي يك كوئري كه يك فيلد است بصورت چند سطري نمايش دهيم و يا نتيجه را در يك memo يا dbmemo با چند سطر نشان داده شود آيا كسي چنين كاري انجام داده است . ( كار برد در يك پروژه ارسال اس ام اس )




select 'بسمه تعالي ' +char(13) +'همكار محترم : '+ firstname + lastname +char(13)+ 'مبلغ فيش حقوقي شما '+ lastamount+'مي باشد '+char(13)+ 'با تشكر '
as e from member
where personalcode =88888888



در كد بالا char(13) كه در دلفي براي ايجاد سطر جديد است بي اثر است . بجاي اين كد چه بايد كرد ؟
با تشكر


شما مي تونيد تو onCalcFields ، فيلدهاي مورد نظر خودتون رو در يك ليست اضافه كرده سپس اون لسيت رو به طرف ارسال كنيد .

hadisalahi2
دوشنبه 09 آذر 1388, 16:25 عصر
اگر دستور Char 13 داخل SQl Server به صورت 'char 13' نوشته شده شما باید همین کار رو هم در دلفی انجام بدید. برای اینکه مقدار رو با تک کوتیشن در دستور قرار بدید باید رشته یا مقدار مورد نظر رو در دستور QuadStr قرار بدید.
یا حق

mrm0101
سه شنبه 10 آذر 1388, 00:12 صبح
سلام . مثال زير در راهنماي اس كيو ال سرور 2000 است . منظور من از CHAR(13) پرش به سطر بعد يا همان كليد اينتر است كه در مثال زير همون مفهموم است ولي در اجرا سر جديد ايجاد نمي شود و همه گزارش در يك سطر است .






B. Use CHAR to insert a control character

This example uses CHAR(13) to print name, address, and city information on separate lines, when the results are returned in text.
USE Northwind
SELECT FirstName + ' ' + LastName, + CHAR(13) + Address,
+ CHAR(13) + City, + Region
FROM Employees
WHERE EmployeeID = 1
Here is the result set:
Nancy Davolio
507 - 20th Ave. E.
Apt. 2A
Seattle