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

نام تاپیک: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

  1. #1
    کاربر تازه وارد آواتار MozenAbasi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    سن
    35
    پست
    49

    مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    سلام به همه شما خوبان
    من تو برنامم یک ComboBox دارم که اسامی دروس رو که از یک جدول تو دیتا بیس توش درج کردم رو نشون میده . تو رویداد Change این Combo یه کد نوشتم که Text اون رو به یه پارامتر از یک ADOQuery پاس میکنه و در نهایت یه Select انجام میده . مشکل اینجاست که اسامی دو سیلابی مانند "سیستم عامل" وقتی به پارامتر ADOQuery پاس می شن نتیجه جدول تهی میشه ! در حالی که جدولی که توسط ADOQuery روش Select زدم حاوی فیلد نام درسی به نام "سیستم عامل" هست .
    ممنون می شم کمکم کنید .

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    برای ارسال پاراکتر به این شکل عمل کنید
    ADOQuery1.Parameters.ParamValues['@YourParameter']:=QuotedStr(Combobox1.Items[Combobox1.ItemIndex]))
    برای ارسال داده از نوع رشته ای به صورت پارامتر از QuotedStr با نام پارامتر استفاده کنید و یا پارامتر را با '' بفرستید QuotedStr هم همین کار را انجام می دهد

  3. #3
    کاربر تازه وارد آواتار MozenAbasi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    سن
    35
    پست
    49

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    نقل قول نوشته شده توسط tiphooo مشاهده تاپیک
    برای ارسال پاراکتر به این شکل عمل کنید
    ADOQuery1.Parameters.ParamValues['@YourParameter']:=QuotedStr(Combobox1.Items[Combobox1.ItemIndex]))
    من به صورت زیر عمل می کردم :
    QTopicSelectWithLessonName.Parameters.ParamByName(  'Name').Value := Trim(ComboBoxLesson.Text) ;

    در این حالت مقادیر دو سیلابی مانند "سیستم عامل " حاصل جدول تهی رو برمی گردوندن ولی وقتی از QuotedStr fi w,vj cdv hsjthni ;vnl :
    QTopicSelectWithLessonName.Parameters.ParamByName(  'Name').Value := QuotedStr(ComboBoxLesson.Text) ;

    و یا حتی :
    QTopicSelectWithLessonName.Parameters.ParamByName(  'Name').Value := QuotedStr(ComboBoxLesson.Items[ComboBoxLesson.ItemIndex])

    هم برای رشته های تک سیلابی و هم دو سیلابی حاصل جدول تهی میشه !
    کد ADOQuery هم به شکل زیره :

    Select Lesson.LessonCode,Lesson.LessonName,QuestionTopic. QTopic ,QuestionTopic.ID
    from Lesson,QuestionTopic
    where (Lesson.LessonCode = QuestionTopic.LessonCode) and (Lesson.LessonName= :Name )



    آیا نمیشه به همراه هر آیتم از ComboBox ، یک ID مشخص ذخیره کرد ؟
    (عذر می خوام من تو دلفی مبتدی هستم که همچین سوالی رو پرسیدم !)
    آخرین ویرایش به وسیله MozenAbasi : جمعه 12 اسفند 1390 در 17:54 عصر

  4. #4
    کاربر تازه وارد آواتار MozenAbasi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    سن
    35
    پست
    49

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    نقل قول نوشته شده توسط tiphooo مشاهده تاپیک
    برای ارسال پاراکتر به این شکل عمل کنید
    ADOQuery1.Parameters.ParamValues['@YourParameter']:=QuotedStr(Combobox1.Items[Combobox1.ItemIndex]))
    برای ارسال داده از نوع رشته ای به صورت پارامتر از QuotedStr با نام پارامتر استفاده کنید و یا پارامتر را با '' بفرستید QuotedStr هم همین کار را انجام می دهد
    من به صورت زیر عمل می کردم :
    QTopicSelectWithLessonName.Parameters.ParamByName(  'Name').Value := Trim(ComboBoxLesson.Text) ;

    در این حالت مقادیر دو سیلابی مانند "سیستم عامل " حاصل جدول تهی رو برمی گردوندن ولی وقتی از QuotedStr به صورت زیر استفاده می کنم:
    QTopicSelectWithLessonName.Parameters.ParamByName(  'Name').Value := QuotedStr(ComboBoxLesson.Text) ;

    و یا حتی :
    QTopicSelectWithLessonName.Parameters.ParamByName(  'Name').Value := QuotedStr(ComboBoxLesson.Items[ComboBoxLesson.ItemIndex])

    هم برای رشته های تک سیلابی و هم دو سیلابی حاصل جدول تهی میشه !
    کد ADOQuery هم به شکل زیره :

    Select Lesson.LessonCode,Lesson.LessonName,QuestionTopic. QTopic ,QuestionTopic.ID
    from Lesson,QuestionTopic
    where (Lesson.LessonCode = QuestionTopic.LessonCode) and (Lesson.LessonName= :Name )


  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    ظاهرا کدهای شما درست است ولی در کل ذخیره یک ID به جای رشته ها صحیح تر و بهتر است و شما اصولا نیابد اسامی درسها را (در این مثال) به صورت رشته ذخیره کنید.برای هر درس یک Id در نظر بگیرید و بر اساس ID در دیتابیس ذخیره کنید .

  6. #6
    کاربر تازه وارد آواتار MozenAbasi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    سن
    35
    پست
    49

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    نقل قول نوشته شده توسط tiphooo مشاهده تاپیک
    ظاهرا کدهای شما درست است ولی در کل ذخیره یک ID به جای رشته ها صحیح تر و بهتر است و شما اصولا نیابد اسامی درسها را (در این مثال) به صورت رشته ذخیره کنید.برای هر درس یک Id در نظر بگیرید و بر اساس ID در دیتابیس ذخیره کنید .
    حق با شماست ، من یک جدول به نام دروس دارم که فیلدهای "نام درس" ، "کد درس" می باشد ، جدول دیگری دارم به نام مباحث دروس که حاوی فیلدهای "ID" ، "کد درس" و "عنوان مبحث" می باشد فیلد "کد درس" در جدول مباحث دروس کلید خارجی متانظر با فیلد "کد درس" در جدول دروس می باشد .
    من یک Select روی جدول دروس می زنم و عنوان دروس رو در یک ComboBox میریزم وقتی کاربر درس مورد نظر خود رو انتخاب میکنه با یه Select دیگه عنوان مباحث درس انتخاب شده در یک combobox دیگه لیست میشه .
    به نظر شما چی کار کنم که هم کاربر نام دروس و مباحث رو ببینه و هم من بتونم به ID دروس و مبحث انتخاب شده دسترسی داشته باشم ؟؟
    من میام دو تا Select می نویسم که مجبورم پارامترهاشون رو به صورت رشته ای در نظر بگیرم و یکی رو با عنوان درس و دیگری رو عنوان مبحث مقدار دهی کنم .
    اگه میشد تو ComboBox به ازای هر آیتم یه Value نسبت داد اونوقت می شد Select ها رو به جای عنوان ، روی ID زد .
    اگه همچین امکانی وجود داره لطفا بگید چه جوری ؟

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    برای این کار کامپوننتهای دیگری هم هست ولی با همین combobox هم می شود اگر کد درسها رو از 0 تا n در نظر گرفته باشید و به ترتیب این کد در Combobox بریزید با انتخاب از combobox ایندکس combobox را به عنوان پارامتر به پروسیجرتان ارسال کنید

  8. #8
    کاربر تازه وارد آواتار MozenAbasi
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    كرج
    سن
    35
    پست
    49

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    اگه لطف کنید چند نمونه کامپوننت دیگه رو نام ببرید ممنون میشم ، یه چیزی که کار Combobox رو بکنه چون کد درس توسط کاربر هرچی عشقش کشید تعیین میشه !

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Tehran
    پست
    403

    نقل قول: مشکل در خواندن کلمات فارسی دو سیلابی از یک Combobox

    SMDBComboBox مانند ComboBox می باشد که به ازاء هر آیتم یک مقدار هم در خاصیت Values میگیرد.

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

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