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

نام تاپیک: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

  1. #1

    کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

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

    کد اولیه من این بود که بدون هیچ خطایی برنامه رو انجام می داد ولی جواب درست نمی داد

    For j AsInteger = 0 To DataGridView2.RowCount - 1
    If DataGridView1.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value


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

    For j AsInteger = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value

    ولی الان که برنامه رو اجرا می کنم پیغام خطای زیر رو نشون می ده


    با اینکه اسم متغیر رو هم عوض کردم ولی باز هم همین خطا رو می گرفت
    آیا کسی از دوستان تا به حال با این پیغام مواجه شده؟

  2. #2

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    یعنی هیچ کسی تا به حال به این پیغام خطا بر نخورده؟
    من تا فردا فقط فرصت دارم این مشکل رو حل کنم ...........هر کی بلده لطفا کمک کنه

  3. #3
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    Smile نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    نقل قول نوشته شده توسط bahar2008 مشاهده تاپیک
    سلام دوستان
    به یک مشکل عجیبی برخوردم که امیدوارم با کمک شما دوستان حلش کنم

    کد اولیه من این بود که بدون هیچ خطایی برنامه رو انجام می داد ولی جواب درست نمی داد

    For j AsInteger = 0 To DataGridView2.RowCount - 1
    If DataGridView1.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value


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

    For j AsInteger = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value

    ولی الان که برنامه رو اجرا می کنم پیغام خطای زیر رو نشون می ده


    با اینکه اسم متغیر رو هم عوض کردم ولی باز هم همین خطا رو می گرفت
    آیا کسی از دوستان تا به حال با این پیغام مواجه شده؟

    1- اينجا شرطت چيه يعني داري چيو چک ميکني ؟
    2- اين پيغام ميگه @a قبلاً تعريف شده و تو مي خواي دوباره تعريفش کني و فک نميکنم ماله اين تيکه کدي باشه که گذاشتي

  4. #4

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    این شرط برای این هست که ببینه آیا در دیتا گرید دوم چک باکسی تیک خورده یا نخورده
    در برنامم دو تا دیتا گرید دارم که در هر دو ستونی داره که چک باکس هست و اول با شرط زیر دیتا گرید اول رو چک کردم که آیا تیک خورده یا نه و در حلقه هم دیتا گرید دوم رو چک کردم که تیک داره یا نه (در حلقه گذاشتم چون به تعدادی که چک باکس ها در دیتا گرید دوم تیک خورده باید عمل تقسیم رو انجام بده)
    برنامه به این صورت هست می کنه


    If DataGridView1.CurrentRow.Cells(0).Value Then
    For j As Integer = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value
    b = DataGridView1.CurrentRow.Cells(5).Value / DataGridView2.Rows(j).Cells(5).Value
    cmd.CommandText = "insert into shakhes (sal81,sal82,sal83,sal84,sal85,sal86,sal87,sal88,s al89,sal90) VALUES (@a,@b)"
    cmd.Parameters.AddWithValue("a", a)
    cmd.Parameters.AddWithValue("b", b)
    cmd.ExecuteNonQuery()
    End If
    Next

  5. #5
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    Smile نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    اينو يه امتحان بکن

    Cmd.Parameters.Item(
    "a").Value = a

  6. #6

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

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


  7. #7
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    ایا منظور شما از sal81,sal82,sal83,sal84,sal85,sal86,sal87,sal88,sa l89,sal90 فیلدهای جدول شماست و ایا پارامترهای ورودی به تعداد همین فیلدها ست در اینجا شما برای این همه فیلد فقط 2 پارامتر ورودی مشخص کرده اید

  8. #8

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

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


    If DataGridView1.CurrentRow.Cells(0).Value Then
    For j As Integer = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value
    b = DataGridView1.CurrentRow.Cells(5).Value / DataGridView2.Rows(j).Cells(5).Value
    cmd.CommandText = "insert into shakhes (sal81,sal82) VALUES (@a,@b)"
    cmd.Parameters.AddWithValue("a", a)
    cmd.Parameters.AddWithValue("b", b)
    cmd.ExecuteNonQuery()
    End If
    Next



    خطایی که می گیره در متغیر a هست که با اینکه اسمش رو هم عوض کردم ولی باز هم همون پیغام خطای اولی رو می داد

  9. #9
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    فکر کنم مشکل شما با این مثال حل بشه
    فایل های ضمیمه فایل های ضمیمه

  10. #10

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    ممنونم دوست عزیز
    ولی برای این کدی که دادید خطا می گیره >>>>> Command.Parameters.Add
    من با sql کار می کنم و با اینکه تمام کدهارو تبدیل کردم به sql ولی باز هم خطا می گرفت و زیر این دستور رو خط آبی می کشید

  11. #11

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    مشکل رو پیدا کردم دوستان ولی نمی تونم حلش کنم
    مشکلش این بود که چون در دیتا گریدم 2 تا گزینه رو انتخاب می کردم این می اومده اطلاعات هر دو رو در a می ریخته برنامه رو به صورت زیر تغییر دادم


    If DataGridView1.CurrentRow.Cells(0).Value Then
    For j As Integer = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value
    b = DataGridView1.CurrentRow.Cells(5).Value / DataGridView2.Rows(j).Cells(5).Value
    EndIf
    Next
    cmd.CommandText = "insert into shakhes (sal81,sal82,sal83,sal84,sal85,sal86,sal87,sal88,s al89,sal90) VALUES (@a,@b)"
    cmd.Parameters.AddWithValue("a", a)
    cmd.Parameters.AddWithValue("b", b)
    cmd.ExecuteNonQuery()

    دیگه اون پیغام خطا رو نمی ده ولی فقط برای یک ستون از دو ستونی که تیک خورده عمل تقسیم رو انجام می ده
    به نظر شما دوستان چه جوری باید کد رو تغییر بدم که برای هر تعدادی که کاربر تیک می زنه عمل تقسیم رو انجام بده
    من که هر چی فکر می کنم می بینم کدها درست هست و نمی دونم مشکل از کجاست

  12. #12
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    به جای اینکه در حلقه For مدام پارامتر تعریف کنید ، یک بار خارج از حلقه پارامترها رو تعریف کنید :
    Cmd.Parameters.Add("a", SqlDbType.Int, 1)

    سپس در حلقه از این کد استفاده کنید .
    Cmd.Parameters.Item(0).Value = a

  13. #13

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    من به صورت زیر نوشتم دوست عزیز ولی پیغام خطا داد آیا محلهای کد ها رو اشتباه گذاشتم؟

    If DataGridView1.CurrentRow.Cells(0).Value Then
    For j As Integer = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value
    cmd.Parameters.Item(1).Value = a

    EndIf
    Next
    cmd.CommandText = "insert into shakhes (sal81,sal82,sal83,sal84,sal85,sal86,sal87,sal88,s al89,sal90) VALUES (@a,@b)"
    cmd.Parameters.Add("a", SqlDbType.Int, 1)
    cmd.ExecuteNonQuery()


    پیغام خطا هم پیغام زیر بود

  14. #14
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    کدهای شما خیلی مبهمه . به این صورت امتحان کنید.
    If DataGridView1.CurrentRow.Cells(0).Value Then
    cmd.CommandText = "insert into shakhes (sal81,sal82,sal83,sal84,sal85,sal86,sal87,sal88,s al89,sal90) VALUES (@a,@b)"
    cmd.Parameters.Add("a", SqlDbType.Int, 2)
    cmd.Parameters.Add("b", SqlDbType.Int, 2)
    For j As Integer = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value
    cmd.Parameters.Item(0).Value = a
    cmd.Parameters.Item(1).Value = b
    cmd.ExecuteNonQuery()
    EndIf
    Next

    بسته به نیازتون اجرای کوئری رو بیرون یا داخل حلقه انجام بدید .
    آخرین ویرایش به وسیله Sub Zero : جمعه 31 خرداد 1387 در 21:36 عصر

  15. #15

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    برنامه به این شکل هست که دو تا دیتا گرید دارم که در هردو یکی از ستونها چک باکس هست و از دیتا گرید اولی فقط یکی از چک باکس ها تیک میخوره و از دیتا گرید دومی هم به هر تعدادی که کاربر بخواهد می تونه تیک بزنه و وقتی کاربر انتخاب خودش رو کرد برنامه مقادیر اون فیلدهایی که کاربر تیک زده رو تقسیم بر هم کنه و جواب تقسیم رو در بانک نگهداری کنه
    این کدی که شما دادید جواب تقسیم ها رو که در بانک ذخیره نمی کنه

  16. #16
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    این مثال با اکسس جواب نداد؟ یا اینکه وقتی تبدیل به sql server میکنی جواب نمیده؟

  17. #17

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    در sql خطا مي گرفت و مي گفت دستور Command.Parameters.Add رو نمي شناسه
    البته من اين مشكل رو با تغيير دستور زير رفع كردم ولي يك پيغام خطاي جديد ديگه اي مي ده

    cmd.CommandText = "insert into shakhes VALUES (" & a & ", " & b & ", " & c ',@d,@s,@f,@k,@l,@p,@r)"


  18. #18
    کاربر دائمی آواتار mehrnoosh_al62
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شمال ایران...
    پست
    374

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

    کدت رو به صورت زیر تغییر بده اول پارامتر ها رو تعریف کن بهشون مقدار بده و بعد insert کن
    If DataGridView1.CurrentRow.Cells(0).Value Then
    For j As Integer = 0 To DataGridView2.RowCount - 1
    If DataGridView2.Rows(j).Cells(0).Value Then
    a = DataGridView1.CurrentRow.Cells(4).Value / DataGridView2.Rows(j).Cells(4).Value
    b = DataGridView1.CurrentRow.Cells(5).Value / DataGridView2.Rows(j).Cells(5).Value
    EndIf
    Next
    cmd.parameters.add("@sale81",SqlDbType.int)
    cmd.parameters.add("@sale82",SqlDbType.int)
    cmd.parameters("@sale81").value=a
    cmd.parameters("@sale82").value=b
    cmd.CommandText = "insert into shakhes (sal81,sal82) VALUES (@sale81,@sale82)"

    cmd.ExecuteNonQuery()

  19. #19

    نقل قول: کمک در حل مشکل پیغام خطایی که در تعریف متغیر صادر می کنه

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

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

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