تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 16

نام تاپيک: دلفی و SQL

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2008
    پست ها
    25

    پيش فرض دلفی و SQL

    سلام دوستان:
    من چندتا سوال داشتم در مورد دلفی وSQL که خواهش میکنم هرکی بلده راهنماییم کنه.
    1)میخوام تمام مقادیر یکی از فیلدهای جدولم رو توی یک combobax داشته باشم. یه DBCombobox و یه datasource داخل فرم3 گذاشتم و خاصیت dataset از datasource رو برابر form2.adotable1 گذاشتم که همون جدول مورد نظره. اما درست کار نمیکنه. باید چیکار کنم؟؟؟؟

    2) همونطور که میدونین SQL تاریخ شمسی رو قبول نمی کنه. میخوام وقتی کاربر تاریخ شمسی رو وارد کرد قبل اینکه وارد پایگاه داده بشه به میلادی تبدیل بشه و برعکس، وقتی برنامه میخواد تاریخ رو از پایگاه به کاربر نشون بده اول به شمسی تبدیل کنه وبعد نشون بده. چطوری؟؟؟؟؟؟؟؟

    3) میخوام سه تا جدول رو باهم join کنم و رکوردهایی رو نشون بده که مقدار فیلدsherkatnameشون برابر"پانیا" باشه. این کد رو نوشتم:
    with adoquery1 do
    begin
    close;
    sql.Clear;
    sql.Add('select edareh.shomaretarh, edareh.sherkatname, name.fname, name.lname, mahdude.khiaban, mahdude.kuche from edareh, name, mahdude where edareh.shomaretarh=name.shomaretarh and edareh.shomaretarh=mahdude.shomaretarh and edareh.sherkatname="پانیا" ');
    open;
    end;
    اما در زمان اجرا این ارور رو میده:
    Invalid column name"پانیا".
    رو برمیدارم سه تا جدول رو باهم ترکیب میکنه edareh.sherkatname="پانیا"البته وقتی اون شرط آخر یعنی
    و درست کار میکنه. چرا؟؟؟؟؟
    از اساتید محترم لطفا هرکی بلده راهنماییم کنه. خیلی حیاتیه
    مرسی

  2. #2
    آخر فروم باز C0OPeR's Avatar
    تاريخ عضويت
    Mar 2009
    پست ها
    3,826

    پيش فرض

    سلام
    1)میخوام تمام مقادیر یکی از فیلدهای جدولم رو توی یک combobax داشته باشم. یه DBCombobox و یه datasource داخل فرم3 گذاشتم و خاصیت dataset از datasource رو برابر form2.adotable1 گذاشتم که همون جدول مورد نظره. اما درست کار نمیکنه. باید چیکار کنم؟؟؟؟
    پیشنهاد میکنم از dblookupcombobox استفاده کنید . کارتون رو راحت میکنه .

    در غیر اینصورت از کد زیر استفاده کنید .
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    2) همونطور که میدونین SQL تاریخ شمسی رو قبول نمی کنه. میخوام وقتی کاربر تاریخ شمسی رو وارد کرد قبل اینکه وارد پایگاه داده بشه به میلادی تبدیل بشه و برعکس، وقتی برنامه میخواد تاریخ رو از پایگاه به کاربر نشون بده اول به شمسی تبدیل کنه وبعد نشون بده. چطوری؟؟؟؟؟؟؟؟
    برای تبدیل تاریخ بهترین و ساده ترین راه استفاده از کامپوننت های تاریخ شمسی هستش .

    3) میخوام سه تا جدول رو باهم join کنم و رکوردهایی رو نشون بده که مقدار فیلدsherkatnameشون برابر"پانیا" باشه. این کد رو نوشتم:
    شما "پانیا" رو داخل سینگل کوتیشن بذار . به اینصورت :
    'پانیا'

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2008
    پست ها
    25

    پيش فرض

    سلام دوست عزیز:
    ممنون از راهنماییتون.
    از dblookupcombobox استفاده کردم، ولی میخوام فیلدهای تکراری رو نشون نده باید چیکار کنم؟؟؟؟
    لطفا برای استفاده از کامپوننت تاریخ شمسی بیشتر راهنمایی کنین. تا حالا باهاش کار نکردم!!
    "پانیا"رو داخل سینگل کوتیشن هم می ذارم این ارور رو میده:
    Illegal character in input file: 'پ' ($81)
    چیکارش کنم؟؟؟؟؟

  4. #4
    آخر فروم باز C0OPeR's Avatar
    تاريخ عضويت
    Mar 2009
    پست ها
    3,826

    پيش فرض

    خواهش میکنم

    ببین دوست من . معمولا وقتی از DbComboBox یا LookUp استفاده میکنن که فیلد تکراری نداشته باشیم
    به هر حال شما میتونید با یک کوئری مقادیر تکراری رو جدا کنید و بعد وارد ComboBox کنید .
    به عنوان مثال :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مرحله اول فیلد غیر تکراری رو جدا میکنه مرحله بعد میریزه تو combobox

    ===========
    چندتا کامپوننت تاریخ شمسی داریم و بسته به نیاز خودتون میتونید از اونها استفاده کنید .
    اگه یه چیز کامل میخواین من solar رو بهتون پیشنهاد میکنم . یکم جستجو کنید تو انجمن پیدا میشه .
    ===========
    منظورم از سینگل کوتیشن این بود که مقدار رشته ای در کوئری داخل سینگل کوتیشن قرار میگیره .
    مثلا
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا شما باید اینو توی دلفی طوری بنویسن که وقتی ارسال میشه به همین صورت بالا باشه .
    میتونید از QuotedStr استفاده کنید و مقدار رو داخل یک متغیر رشته ای بریزین .
    مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  5. #5
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2008
    پست ها
    25

    پيش فرض

    بازم ممنون
    من روی dblookupcombobox دابل کلیک کردم و این کدی که شما گفتین رو نوشتم اما برای Items این ارور رو میده:
    Undeclared identifier: 'Items'
    چرا؟؟؟ باید به جای items چیز دیگه ای بنویسم؟؟؟؟
    سوال دیگه این که من temp رو(تو اون کدی که گفتین) از نوع string گذاشتم اما وقتی طول رشته بیشتر از 255 میشه ارور میده. توی کتاب جعفرنژاد گفته باید از راهنمای {$h+} استفاده کنین و اون رو فعال کنین. اما من نمیدونم چه طوری باید این کار رو بکنم؟؟؟!!!

  6. #6
    آخر فروم باز C0OPeR's Avatar
    تاريخ عضويت
    Mar 2009
    پست ها
    3,826

    پيش فرض

    یه نمونه کد در رابطه با استفاده از {$h+}
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شما میتونی temp رو از نوع WideString هم تعریف کنی .
    یا اینکه رشته رو بریزی توی متغیرهای دیگه و در نهایت اونا رو بهم بچسبونی

    dblookupcombobox خاصیت Items رو نداره .
    یک راه اینه که یه combobox معمولی بذارین و از همون کد استفاده کنید .
    راه دوم اینه که شما قسمت اول کد یعنی :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    رو بنویسی و وقتی این کد اجرا و رکوردهای غیر نکراری جدا شد datasource اون dblookupcombobox رو برابر datasource ای که به adoquery1 وصله بکنین .

  7. #7
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2008
    پست ها
    25

    پيش فرض

    سلام:
    اون آدرسی که دادین رو دیدم. طبق اون کد نمونه عمل کردم اما بازم ارور داد. توی اینترنت سرچ هم کردم اما چیزی پیدا نکردم.
    برای الحاق رشته، از selest تا اول where رو ریختم توی temp و بقیه رو ریختم توtemp1. حالا اون جایی که برایtemp این کد رو نوشتم:
    temp:=temp+QuotedStr(sherkatname);
    برای temp1 هم باید بنویسم؟ وبعد در تابعadd دورشته رو جمع کنم؟ add(temp+temp1)

    یه combobox معمولی هم گذاشتم و توش همون کد رو نوشتم اما جواب نداد!!!! هیچ کدوم از خاصیتاشو نباید تغییر داد؟
    یه سوال دیگه این که به جای گذارش گیری با Qreport میشه یه سرچ معمولی با دستوراتSQL و کوئری نوشتن انجام داد؟
    ممنون میشم اگه بازم جوابم رو بدین!

  8. #8
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2008
    پست ها
    25

    پيش فرض

    مشکل combobox رو حل کردم. اما باز یه مشکلی پیدا کردم. من وقتی برنامه رو run میکنم، اسم یه شرکت رو در قسمت ورود اطلاعات ثبت میکنم و وقتی توی یه tab دیگه میرم(قبل از اینکه از برنامه ی run شده خارج بشم) میخوام که توی combobox اسم اون شرکت رو نشون بده، ولی نشون نمیده!! باید حتما از برنامه خارج شم و دوباره برنامه رو run کنم تا اسم اون شرکت رو نشون بده!!!! به نظرتون چیکار کنم؟؟؟؟؟

  9. #9
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2008
    پست ها
    25

    پيش فرض

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

  10. #10
    آخر فروم باز C0OPeR's Avatar
    تاريخ عضويت
    Mar 2009
    پست ها
    3,826

    پيش فرض

    مشکل combobox رو حل کردم. اما باز یه مشکلی پیدا کردم. من وقتی برنامه رو run میکنم، اسم یه شرکت رو در قسمت ورود اطلاعات ثبت میکنم و وقتی توی یه tab دیگه میرم(قبل از اینکه از برنامه ی run شده خارج بشم) میخوام که توی combobox اسم اون شرکت رو نشون بده، ولی نشون نمیده!! باید حتما از برنامه خارج شم و دوباره برنامه رو run کنم تا اسم اون شرکت رو نشون بده!!!! به نظرتون چیکار کنم؟؟؟؟؟
    یه بار باید اطلاعات بازخوانی شه .
    مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توی رویداد نمایش فرم میتونی این رو بذاری تا هر بار فرم نمایش داده میشه اطلاعات باز خوانی شه یا هر جایی که دوست داری .

  11. این کاربر از C0OPeR بخاطر این مطلب مفید تشکر کرده است


صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •