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

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




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 24

نام تاپيک: syntax دستورات sql‌ در c++.net

  1. #11
    اگه نباشه جاش خالی می مونه sara_she's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    اهواز
    پست ها
    214

    14

    با سلام
    من با توجه به راهنمايي شما كد رو به صورت زير تغيير دادم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    الان براي استفاده از select با يك شرط مشكلي ندارم ولي نمي دونم اگه بخوام چند شرط داشته باشم چطور بايد بنويسم
    همين طور براي دستور insert و update‌و Delete


    تو vb.net نوشتن دستورات sql خيلي راحتتر بود . اينجا مثل vb.net اين امكان وجود نداره كه كل عبارت رو به صورت كامل بنوسيم ؟مثلأ به شكل زير:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    سوال ديگه اينكه اگه بخوام از selectcommand و insertcommand و updatecommand ... خود adapter رو استفاده كنم كه تو قسمت property‌ اون وجود دارند به جاي نوشتن كد هاي Sql ، براي متغيرهام مثل textbox ها و ... چه طور بايد اونا رو به command مورد نظر معرفي كنم ؟ الان به جاي اونا ؟ گذاشته
    Last edited by sara_she; 24-05-2007 at 09:37.

  2. #12
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    برای راحت تر شدن میتونین از concat استفاده کنین.
    اما فقط در نظر داشته باشین برای رشته هایی که بین "" قرار میگیرن از static_cast استفاده کنین.
    مثلا :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    میتونین از شرط های متعددی استفاده کنین. فکر کنم مشخصه.
    برای استفاده از property های Adapter Object میتونین به این شکل عمل کنین :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و همین طور در مورد باقی اونها.

  3. #13
    اگه نباشه جاش خالی می مونه sara_she's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    اهواز
    پست ها
    214

    14

    خسته نباشيد
    در مورد كدي كه براي select گذاشتين درست متوجه نشدم چرا شرط textbox‌رو از باقي شرطها جداكردين و بقيه رو با static_cast تعريف كردين؟چون مقدار ثابتي دارند؟و ديگه اينكه چرا مثل كد قبل String::Format استفاده نكردين؟من با دستورات sql تو c++.netاصلا آشنايي ندارم و كلي گيج شدم

    براي استفاده از insertcommand و ... هم مشكل من اينه كه وقتي Adapter رو مي سازم به صورت خودكار insertcommand,deletecommand, updatecomman هم مقدار مي گيرند ولي به جاي مقداري كه قراره تو where‌ با فيلد مورد نظر چك بشه علامت ؟ وجود داره چون اين شرط در زمان اجرا مقدارش مشخص مي شه مثلا مقدار گيري textbox‌ توسط كاربر ، من مي خوام تو قسمت كد از اين commandهاي از پيش تعريف شده استفاده كنم و به جاي علامت سوال مقدار بذارم فكر كنم اين كار توسط parameter انجام مي شه مثل كد زير :
    dataAdpater.UpdateCommand.Parameters.Add

    ولي پارامترهامو تو قسمت parameters‌مربوط به اين كامندها دارم و درواقع فقط مي خوام مقدارشون رو چك كنم نه اينكه addparameter داشته باشم و نمي دونم چطور بايد اين كار رو انجام بدم

    اگه مي شه دستورات insertوupdate و delete‌رو هم مثل select كه بالا با چند شرط تعريف كردين برام بذارين كه اگه مشكلم با parameter قابل حل نبود از اين كدنويسي استفاده كنم


    با تشكر
    Last edited by sara_she; 26-05-2007 at 11:14.

  4. #14
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    وقتی از یه رشته رو به آرگومان یه تابه که از نوع *String هست میفرستین از type-casting باید استفاده کنین.
    و چون طول این رشته ثابته از static_cast استفاده میشه.
    برای پیوند دادن رشته ها به هم در ++C ، میتونین هم از Format و هم از ConCat استفاده کنین.
    من برای اینکه بدونین چطور استفاده میشن براتون گذاشتم. از هر کدوم که راحت تر هست استفاده کنین.

    اما در مورد Parameters متوجه منظورتون نشدم.

    اگه مي شه دستورات insertوupdate و delete‌رو هم مثل select كه بالا با چند شرط تعريف كردين برام بذارين كه اگه مشكلم با parameter قابل حل نبود از اين كدنويسي استفاده كنم
    دقیقا مثل همونه! ولی اگه مشکلتون حل نشد براتون میذارمش.
    یه نگاهی هم به لینک های زیر بکنین :
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  5. #15
    اگه نباشه جاش خالی می مونه sara_she's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    اهواز
    پست ها
    214

    پيش فرض

    سلام
    مثل هميشه از راهنمايي هاي شما واقعأ ممنونم
    در مورد دستور select من روش ديگري رو پيدا كردم و تست كردم جواب داد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    براي insert و delete و update هم تست كردم
    خوشحال مي شم اگه مشكلي تو اين روش وجود داره گوش زد كنيد

    در جايي خوندم كه سرعت كار با رشته ها در stringbuilder خيلي بيشتر از + و concat است چون در + و concat ‌در هر مورد استفاده متغير جديدي تعريف شده و حافظه دوباره اختصاص داده مي شود . بنابراين براي كار با رشته ها و متن هاي طولاني strungbuider ‌كاربرد و بهره بيشتري دارد . درسته ؟

    در مورد استفاده از + در دستورات sql‌ به صورتي كه در ابتداي تاپيك اطراف textbox1.text‌به كار رفته بود در 2005 تست كردم درست جواب مي داد اين همه تفاوت بين دو نسخه به نظر عجيب مي ياد !!
    Last edited by sara_she; 29-05-2007 at 09:02.

  6. #16
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    روشتون درسته. برای نوشتن یه برنامه تنها یه راه وجود نداره.
    نکته قابل توجه اینه که شما خیلی خوب و حرفه ای جلو میرین. در مورد StringBuilder کامل درست گفتین.
    Concate همیشه حافظه به خودش اختصاص میده. اما در مورد StringBuilder این طور نیست. تنها زمانی که
    طول Buffer مورد نظر کوچک باشه این کار انجام میشه. وتا زمانی که این طول مناسب هست از اختصاص
    حافظه جدید خبری نیست. البته این ارجعیت در چند مورد وجود داره و صورت کلی نداره. مثلا اگه در برنامه ای
    لازم هست که از ورودی String گرفته بشه و تعداد این String ها معلوم نباشه StringBuilder به Concate
    ارجعیت داره.
    در مورد + این تفاوت به خاطر نوع برخورد 2003 و 2005 در رابطه با pointer هاست شایدم عجیب به
    نظر برسه. در مورد String همونطور که قبلا صحبت شد و شما هم اشاره کردین ، اگه برنامه با clr/ کامپایل بشه
    مشکلی نداره اما String operators نمیتونن با clr:oldSyntax/ کار کنن و درست نیستن.

  7. #17
    اگه نباشه جاش خالی می مونه sara_she's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    اهواز
    پست ها
    214

    پيش فرض

    ممنون از راهنمايي و تشويق شما
    از عضويت در اين وبلاگ فعال با اعضاي خوب و با كاردان بسيار خوشحالم

  8. #18
    اگه نباشه جاش خالی می مونه sara_she's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    اهواز
    پست ها
    214

    پيش فرض

    سلام

    من مي خوام با استفاده از datarow‌و datasetكه با adapterپر شده ركورد به ركورد محتويات جدول رو چك كنم و دنبال يك مقدار خاص در يك ركورد بگردم . قبلا كه از vb.netاستفاده ميكردم تعريف for eachدر اين زمينه خيلي سودمند بود به صورت زير:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولي تو c++.netمشكل پيدا كردم فكر ميكنم for eachرو نمي شناسه. با readerنمي خوام كار كنم

  9. #19
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    اول باید بگم for each در VS2005 و یا به عبارتی VC++8.0 وجود داره اما در نسخه 7 و یا VS2003 نه.
    میتونین با یه for این کار رو انجام بدین. Rows property یه property به نام Count داره که تعداد سطر ها
    رو مشخص میکنه. از 0 شروع کنین تا Table[].Rows.Cont بشمرین و تو حلقه dr رو مساوی عدد Rows قرار
    بدین. چیزی شبیه کد زیر :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



  10. #20
    اگه نباشه جاش خالی می مونه sara_she's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    اهواز
    پست ها
    214

    پيش فرض

    سلام

    كد شما رو تست كردم. به جاي Table بايد از Tablesاستفاده كنيم در واقع بعد از <-ds جزو ليست باز شده است.

    براي Tables نمي شه پرانتز گذاشت چون وقتي سعي كردم پرانتز بدون پارامتر به كار ببرم يا اينكه شماره جدول يا اسم جدول رو بنويسم خطايي مي گرفت مبني بر اينكه اين term نمي تواند 0 يا 1 پارامتر بگيرد :

    error C2064: term does not evaluate to a function taking 1 arguments

    وقتي پرانتز نمي گذارم اين اشكال برطرف مي شود ولي فقط در ليست باز شونده جدول Row وجود دارد نه Rows

    خلاصه اينكه مشكل من حل نشد . اگه كد رو با c++.net 2003 بذاريد ممنون مي شم

Thread Information

Users Browsing this Thread

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

User Tag List

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

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