نمایش نتایج 1 تا 25 از 25

نام تاپیک: اجرای کد اسکیوال در دلفی

  1. #1

    اجرای کد اسکیوال در دلفی

    من کد اسکیوال را می خواهم در یک ado query در دلفی اجرا کنم اما بعضی از دستورات رو نمی شناسه مثل دستور "Go" و کامنت ها
    نمونه کد:
    /*
    2012/11/0905:47:38 ب.ظ
    User: sa
    Server: nic\sql2008
    Database: PmNicDbYazd
    Application:
    */

    /* To prevent any potential data loss issues, you should review this script in detail before running it outside the context of the database designer.*/
    BEGIN TRANSACTION
    SET QUOTED_IDENTIFIER ON
    SET ARITHABORT ON
    SET NUMERIC_ROUNDABORT OFF
    SET CONCAT_NULL_YIELDS_NULL ON
    SET ANSI_NULLS ON
    SET ANSI_PADDING ON
    SET ANSI_WARNINGS ON
    COMMIT
    BEGIN TRANSACTION
    GO
    CREATE TABLE dbo.Tmp_aaa
    (
    srl int NOT NULL,
    a int NOT NULL,
    b int NOT NULL
    ) ON [PRIMARY]
    GO
    ALTER TABLE dbo.Tmp_aaa SET (LOCK_ESCALATION = TABLE)
    GO
    IF EXISTS(SELECT * FROM dbo.aaa)
    EXEC('INSERT INTO dbo.Tmp_aaa (srl, a, b)
    SELECT srl, a, b FROM dbo.aaa WITH (HOLDLOCK TABLOCKX)')
    GO
    DROP TABLE dbo.aaa
    GO
    EXECUTE sp_rename N'dbo.Tmp_aaa', N'aaa', 'OBJECT'
    GO
    ALTER TABLE dbo.aaa ADD CONSTRAINT
    PK_aaa PRIMARY KEY CLUSTERED
    (
    srl
    ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    GO
    COMMIT

  2. #2

    نقل قول: اجرای کد اسکیوال در دلفی

    سلام
    به این شکل که مشکلی نداره.
    به جای ADO Query نیز میتوانید از مجموعه SDAC استفاده کنید و از SQL Script استفاده کرده و دستورات مورد نظر رو اجرا کنید.

  3. #3

    نقل قول: اجرای کد اسکیوال در دلفی

    به این شکل که مشکلی نداره.
    اما من با adoQuery که نتونستم اجرا کنم همانطور که گفتم کلمات کلیدی GO و کامنت ها را مجبور شدم بردارم شاید تنظیمات خاصی هم نیاز داره ضمنا من توی دلفی 7 کار می کنم حالا با SDAC هم امتحان می کنم

  4. #4

    نقل قول: اجرای کد اسکیوال در دلفی

    مجموعه مجموعه SDAC تودلفی 7 وجود داره یا باید اون رو تهیه کرد و نصب نمود؟

  5. #5

    نقل قول: اجرای کد اسکیوال در دلفی

    خیر مجموعه جداگانه ای هست که باید تهیه کرده و نصب کنید.

  6. #6

    نقل قول: اجرای کد اسکیوال در دلفی

    من هنوز در مورد دستور GO در کوئری هایی که از داخل دلفی با AdoQuery می خواهم اجرا کنم با مشکل مواجه هستم آیا برای اجرای این دستور کار خاصی می بایست انجام دهم لطفا راهنمایی کنید

  7. #7

    نقل قول: اجرای کد اسکیوال در دلفی

    با دستور go نمی خواد خود query رو excute کن adoquery1.excute

  8. #8

    نقل قول: اجرای کد اسکیوال در دلفی

    با دستور go نمی خواد خود query رو excute کن adoquery1.excute
    بعضی از کلمات کلیدی اسکیوال نظیر GO در ado Query قابل اجرا نیست و در صورتی که در کد اسکیوال وجود داشته باشد نمی توان ado Query را execute کرد (خطا می دهد).
    آیا از کامپوننت های استاندارد دیگر دلفی XE2 می تونم استفاده کنم و مشکلم را حل نمایم؟
    من نتونستم sdac را برای دلفی xe2 پیدا کنم

  9. #9

    نقل قول: اجرای کد اسکیوال در دلفی

    بهترین کار برای انجام چنین کارهایی استفاده از SP است.
    در ضمن دلیل وجود اون GO اینه که SQL تشخیص بده که تا کجا رو جدا جدا ران کنه.
    در جقیقت اون GO فقط حکم یک Delimiter رو داره نه بیشتر و اصلا دستور TSQL نیست. شما می تونید از تنظیمات SQL اون رو مثلا به Havij تغییر بدید.
    برای ران شدنش هم در دلفی باید دستوراتتون رو تا GO جدا کنید و هر کدوم رو جدا ران کنید.
    موفق باشید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  10. #10

    نقل قول: اجرای کد اسکیوال در دلفی

    برای ران شدنش هم در دلفی باید دستوراتتون رو تا GO جدا کنید و هر کدوم رو جدا ران کنید.
    اول اینکه من یکسری کدهای دارم که نمی تونم از طریق پروسیجر اجرا کنم (برای اصلاح خطاهای سیستم فایل اسکیوال رو می خوام از طریق برنامه کاربرم اجرا کنه)
    دوم اینکه GO رو باید بنویسم چون که مثلا اگر فیلد جدول رو تغییر بدم و خواسته باشم مقدار دهی کنم می بایست بین تغییر و مقدار دهی GO نوشته بشه تا جدول بروز باشه جهت مقدار دهی فیلد مورد نظر
    سوم اینکه بعضی کدهای دیگه رو هم گیر می ده
    از همراهی شما در این تاپیک متشکرم

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    ایران تهران
    پست
    608

    نقل قول: اجرای کد اسکیوال در دلفی

    اگر از مجموعه sdac یا unidac استفاده کنید با این کد میتونید هر چی خواستینو اجرا کنید.



    procedure tpatern.runsql(acon: TUniConnection; afile: WideString);

    var
    scer: TUniScript;
    i: Integer;
    begin

    if acon.Connected = false then
    raiser('اتصال برقرار نيست');
    runner.Connection := acon;
    runner.SQL.Clear;
    runner.SQL.LoadFromFile(afile);
    Application.ProcessMessages;
    runner.Execute;
    Application.ProcessMessages;
    end;

  12. #12

    نقل قول: اجرای کد اسکیوال در دلفی

    دلیل اون GO رو توضیح دادم.
    می تونید با نوشتن یک Splitter ساده کوئری تون رو تکه تکه کنید و ران کنید.
    اتفاقا چند وقت پیش یک همچین چیزی نوشتم،

    procedure SplitText(Text, Delimiter: string; Ret: TStrings);
    var
    prev, next: integer;
    begin
    if not Assigned(Ret) then
    Exit;

    Ret.Clear;

    prev := 1;
    repeat
    next := PosEx(Delimiter, Text, prev);
    if next = 0 then
    Break;

    Ret.Add(Copy(Text, prev, next -prev));
    prev := next +length(Delimiter);
    until false;
    end;


    کدتون رو به یک همچین پروسیجری بفرستید تا در خروجی در قالب یک لیست بهتون تکه تکه کنه بده، بعد با یک حلقه ساده تمام خطوط رو ران کنید.
    دلیل اینکه دلفی تمام دستورات اس کیو ال رو شامل نمی شه برمی گرده به ساختار درونی اس کیو ال استاندارد پیاده شده در خود دلفی، نه DBMS ی که دارید بهش کانکت می شید.
    البته اون هم باید ساپورت کنه، ولی هر چی که ساپورت می کنه رو دلفی نداره. مثلا همین With یا For XML یا ...
    البته اطلاعات من هم تا همین حده و هیچ وقت بیشتر از این تو عمق مطلب لازم نبوده که برم (لبخند گشاده هیستریک)

    به هر حال امیدوارم این مطلب بهتون کمک کرده باشه.
    موفق باشید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  13. #13

    نقل قول: اجرای کد اسکیوال در دلفی

    نقل قول نوشته شده توسط You-See مشاهده تاپیک
    بهترین کار برای انجام چنین کارهایی استفاده از SP است.
    در ضمن دلیل وجود اون GO اینه که SQL تشخیص بده که تا کجا رو جدا جدا ران کنه.
    در جقیقت اون GO فقط حکم یک Delimiter رو داره نه بیشتر و اصلا دستور TSQL نیست. شما می تونید از تنظیمات SQL اون رو مثلا به Havij تغییر بدید.
    برای ران شدنش هم در دلفی باید دستوراتتون رو تا GO جدا کنید و هر کدوم رو جدا ران کنید.
    موفق باشید.
    سلام این sp چیه که می فرمایید

  14. #14

    نقل قول: اجرای کد اسکیوال در دلفی

    Stored Procedure در SQL
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  15. #15

    نقل قول: اجرای کد اسکیوال در دلفی

    میشه دقیق تر راهنمایی کنید من از دلفی xe4 استفاده میکنم

  16. #16

    نقل قول: اجرای کد اسکیوال در دلفی

    عرض کردم که در اس کیو ال نه دلفی.
    با شی ADOStoredPtoc بهش متصل می شن.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  17. #17

    نقل قول: اجرای کد اسکیوال در دلفی

    از راهنمایییتون ممنون
    چیز جدید یادگرفتم که خیلی کاربرد داره ولی آیا میشه با ADOSTOREPROCEDURE که به گرید وصل کردیم به کاربر اجازه تغییرات در بانک رو بدیم
    یعنی وقتی کاربر یک رکورد رو تغییر داد اتوماتیک در بانک تغییرات ثبت بشه
    مثل حالتی که ADOTABLE رو به گرید وصل کردیم

  18. #18

    نقل قول: اجرای کد اسکیوال در دلفی

    بله می شه. اما روش درستی نیستو بهتره برای تغییرات هم از یک اس پی جدا استفاده بشه.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  19. #19

    نقل قول: اجرای کد اسکیوال در دلفی

    حالا مشکل جدید پیدا شده
    وقتی پروسیجر رو درست میکنم و دستور فیلترینگ زیر رو بهش میدم فقط با کاراکتر اول فیلتر میکنه و بقیه رو ندید میگیره


    select*frommoshtariwherenamemoshtarilike'%'+@Moshtari+'%

    مثلا اگر در جدولم رکورد شامل لغات کتاب و کباب و کریم را داشته باشیم و کاربر حرف ک رو بزنه حالا حرف بعدی هر چی میخواد باشه همه رو نشون میده

  20. #20

    نقل قول: اجرای کد اسکیوال در دلفی

    نقل قول نوشته شده توسط ho.yasreby مشاهده تاپیک
    حالا مشکل جدید پیدا شده
    وقتی پروسیجر رو درست میکنم و دستور فیلترینگ زیر رو بهش میدم فقط با کاراکتر اول فیلتر میکنه و بقیه رو ندید میگیره


    select*frommoshtariwherenamemoshtarilike'%'+@Moshtari+'%

    مثلا اگر در جدولم رکورد شامل لغات کتاب و کباب و کریم را داشته باشیم و کاربر حرف ک رو بزنه حالا حرف بعدی هر چی میخواد باشه همه رو نشون میده
    کسی جواب نداشت

  21. #21

    نقل قول: اجرای کد اسکیوال در دلفی

    select*from moshtari where namemoshtari like'%'+@Moshtari+'%

    Please
    Please
    Please
    Please
    آخرین ویرایش به وسیله ho.yasreby : دوشنبه 01 مهر 1392 در 17:12 عصر

  22. #22

    نقل قول: اجرای کد اسکیوال در دلفی

    اون کلمات رو بردار عزیز من، خوب نیست.
    این که فقط اول کلمات رو میاره احتمالا به جایی بستگی داره که کدتون رو قرار دادید.
    نمونه کد رو بگذارید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  23. #23

    نقل قول: اجرای کد اسکیوال در دلفی

    مجبور شدم خیلی وقته منتظرم و کارم بدجوری گیر کرده
    این برنامه رو دقیقاً با دیتابیس اکسس نوشتم درست کار میکنه ولی وقتی با sql مینویسم به اسپیس و .... گیر میده از شما راهنمایی گرفتم فرمودید sp تحقیق کردم و انجام دادم حالا به این مشکل خوردم که عرض شد
    نمونه کد کامل

    procedure TForm8.Edit1Change(Sender: TObject);
    begin
    ADOStoredProc1.Close;
    ADOStoredProc1.Parameters[1].Value:=edit1.Text;
    ADOStoredProc1.Open;
    end;


    sp به شکل زیر است


    USE [Henaras]
    GO
    /****** Object: StoredProcedure [dbo].[filtermoshtari] Script Date: 2013/09/23 05:54:10 ب.ظ ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[filtermoshtari]
    @Moshtari char
    as
    select * from moshtari where namemoshtari like '%'+ @Moshtari+'%'

  24. #24

    نقل قول: اجرای کد اسکیوال در دلفی

    دلیلش اینه:

    @Moshtari char

    باید طولش رو معین کنید. مثلا این:

    @Moshtari varchar(1000)
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  25. #25
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    360

    نقل قول: اجرای کد اسکیوال در دلفی

    با سلام
    من هم تقریبا چنین مشکلی را داشتم یعنی بایستی چند کلمه را مانند گوگل پیدا می کردم من با استفاده از امکان Full-Text Search در Sqlserver 2008 حل کردم
    توصیه می کنم Full-Text Search جستجو کنید.امکانات فوق العاده قوی را دارد

تاپیک های مشابه

  1. اجرای دستورات dos از دلفی
    نوشته شده توسط sahar_ah در بخش برنامه نویسی در Delphi
    پاسخ: 14
    آخرین پست: دوشنبه 28 مرداد 1392, 14:22 عصر
  2. اجرای دستور update در دلفی و ...
    نوشته شده توسط freebird در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 13
    آخرین پست: سه شنبه 05 شهریور 1387, 08:30 صبح
  3. اجرای فایل exe در دلفی
    نوشته شده توسط mohammad_85bk در بخش برنامه نویسی در Delphi Prism
    پاسخ: 2
    آخرین پست: دوشنبه 29 بهمن 1386, 02:41 صبح
  4. اجرای برنامه ای از دلفی
    نوشته شده توسط sajadvahedi در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 14 مرداد 1386, 06:41 صبح
  5. اجرای برنامه پاسکال در دلفی
    نوشته شده توسط Esikhoob در بخش برنامه نویسی در Delphi
    پاسخ: 8
    آخرین پست: شنبه 09 دی 1385, 18:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •