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

نام تاپیک: دستور Insert (اس کیو ال ) برای یک متغیر عددی

  1. #1

    دستور Insert (اس کیو ال ) برای یک متغیر عددی

    با سلام ،
    myInt یک متغیر عددی است و میخواستم این متغیر را در دستور INSERT ذیل بکار ببرم :
    string strInsert="INSERT INTO BOOKS (TITLE,AUTHOR,PAGECOUNT,TOPIC,CODE)" 
    +"VALUES('Test Book','Test Author', myInt, 'Test Topic', 'Test Code');";

    با توجه به این که فیلد PAGECOUNT از نوع int است ، بنابراین قراردادن myInt بین دو کوتیشن که برای مقادیر رشته ای بکار می رود ، فکر کنم کار صحیحی نباشد ( یعنی '"+myInt+"' ) .
    لطفا راهنمایی بفرمایید .
    با تشکر

  2. #2
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile

    روش ساده تر کد زیر را بکار ببرید

    string strInsert = "INSERT INTO BOOKS (TITLE,AUTHOR,PAGECOUNT,TOPIC,CODE) VALUES('Test Book','Test Author'," + myInt.ToString + ", 'Test Topic', 'Test Code');";
    روش سختتر و کاملتر این است که از خاصیت parameter شی sqlcommand استفاده کنی که فکر کنم همون کد بالا کارتون را راه میاندازد

  3. #3
    شاید منظورتون این باشه :
    ......, '"+myInt.ToString()+"', ....

    که در این صورت این مقدار یک رشته می باشد نه یک عدد از نوع int

  4. #4
    ......, '"+myInt.ToString()+"', ....
    یک مقدار عددی باید در دستورات باشد پس سینگل کوتیشن ' ' نمیخواهد.

  5. #5
    میشه منظورتان را واضح تر بگید ؟

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    دی 1384
    محل زندگی
    اصفهان
    پست
    66
    چون داده شما عددیه پس احتیاج به کوتیشن نیست

  7. #7
    مگه با بدون کوتیشن مشکل داری؟

  8. #8
    در کوئریهای اس کیو ال علامت ' ' مشخص کننده رشته یا عدد نیست و فقط نشاندهنده یک مقدار هست جدا از اینکه این مقدار رشته هست یا عدد. ولی نحوه نوشتن مربوط به محیطی هست که اونجا داری کوئری رو مینویسی.
    مثلا برای نمونه ای که خودت اول گفتی: معنی نداره یک متغیر رو بین " " قرار بدی حالا چه با ' ' چه بدون اون.

  9. #9
    توی SQL برو و مثلاً اگه یک جدول با نام T1 داشته باشی و یک فیلد عددی با نام ID و یکی هم رشته ای با نام Name اگر دستور اول رو اجرا کنی خطا ندارد ولی دستور دوم خطا دارد .
    INSERT INTO T1 (Id,Name) Values (1,'ali')

    INSERT INTO T1 (Id,Name) Values ('1','ali')

  10. #10
    من نمیدونم چجوری و کجا امتحان کردی! ولی من این کد رو اجرا کردم و انجام شد (فیلد age از نوع int هست)
    INSERT INTO testint (name, age) VALUES ('test', '2')

    و حتی اگه برای 2 ' ' نگذاری هم انجام میشه.

    بازم چک کن و اگه خطا گرفت. اینجا بگو خطارو

  11. #11
    اگه هنوز مشکل وجود داره اسکریپت جدول رو بذار اینجا آقای حسینی ببینیم مشکل چیه...

  12. #12
    در کوئریهای اس کیو ال علامت ' ' مشخص کننده رشته یا عدد نیست و فقط نشاندهنده یک مقدار هست
    اصل مطلب فکر می کنم همین است . چون فکر می کردم هر چیزی بین ' ' قرار گیرد یک رشته را بر می گرداند . از کلیه دوستان هم ممنونم . ضمنا جناب آقای راد ، myInt مقداری برگشتی از یک تابعی است که نوشتم . من این مقدار را می خواستم در دستور اس کیو ال قرار دهم . بدین ترتیب مشکلم هم حل شد .
    بازم بسیار ممنون

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

  1. دکمه next , insert و ...
    نوشته شده توسط ITST-1 در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: یک شنبه 04 آذر 1386, 16:12 عصر
  2. مشکل دستور Insert into در VB.net
    نوشته شده توسط alineghabi در بخش VB.NET
    پاسخ: 8
    آخرین پست: یک شنبه 01 بهمن 1385, 11:25 صبح
  3. کمک فوری : خطا در هنگام ورود اطلاعات به بانک با دستور insert
    نوشته شده توسط mohsen_borzooei در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: شنبه 06 آبان 1385, 09:03 صبح
  4. insert کردن در پایگاه داده با php
    نوشته شده توسط arash ahmadi در بخش PHP
    پاسخ: 4
    آخرین پست: جمعه 24 شهریور 1385, 00:42 صبح

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

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