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

نام تاپیک: مشکل برزرگ در update حرفه ای ها کمک کنن

  1. #1

    مشکل برزرگ در update حرفه ای ها کمک کنن

    معادل این دستور چیه؟
     
    'ol_cm = New OleDbCommand("UPDATE A_Tabdil SET raft = false WHERE A_Tabdil.id_shali = Factor_F_T.id_shali ", ol_cn)
    'ol_cm.ExecuteReader()

    میشه تو شرط update این کارو کرد؟؟؟؟؟؟؟؟؟؟؟؟

  2. #2
    کاربر دائمی آواتار Evil 69
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    كمي دور تر از آنجا
    پست
    272
    اره توي vb.net اين يك كاره خيلي ساده هستش شما مي توني يك كوئري توليد كني كه يك دستور update ( sql ) داخلش باشه بعد ديتا اداپتورتو با اون دستور fill كني البته براي اينكه يك شرط رو بتوني چك كني بايد از پارامتر هاي استفاد ه كني مثلا مي گي WHERE ID =I حالا مي ري توي پنجره تنظيمات ( سمت راست برنامه ) و اونجا در قسمت پارامتر يك پارامتر به نا م i اضافه مي كني همين و بس ( وقتي كه ادابتور رو با اون fill كني ميگه كه يك مقدار براي اون پارامتر بفرست )

  3. #3
    کاربر دائمی آواتار kablayi
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    شیراز
    پست
    773
    نقل قول نوشته شده توسط saman_itc مشاهده تاپیک
    معادل این دستور چیه؟
     
    'ol_cm = New OleDbCommand("UPDATE A_Tabdil SET raft = false WHERE A_Tabdil.id_shali = Factor_F_T.id_shali ", ol_cn)
    'ol_cm.ExecuteReader()

    میشه تو شرط update این کارو کرد؟؟؟؟؟؟؟؟؟؟؟؟
    سلام...
    از ExecuteNonQuery به جای ExecuteReader استفاده کنید ... ایشالا که جواب میده ...

    گمونم دستور Update مشکلی نداشته باشه ...

    این قالب نوشتن آپدیته:
     UPDATE TABLE "table_name"
    SET ("column_1", "column_2") = ([new value 1], [new value 2])
    WHERE {condition}


    حالا میتونی اینجوری بنویسی ...

    dim strsql as string
    .
    .
    .
    StrSql = "Update TABLE_NAME SET (NAME,TELL) = (@Name,@Tell) where ID='100' "
    Dim cn As New OleDbConnection(ConStr)
    Dim cmd As New OleDbCommand(StrSql, cn)
    cmd.Parameters.Add("@name", txtname.Text)
    cmd.Parameters.Add("@tell", txttell.Text)

    cn.open()
    cmd. ExecuteNonQuery()
    cn.close()

    آخرین ویرایش به وسیله kablayi : سه شنبه 24 اردیبهشت 1387 در 16:06 عصر

  4. #4
    نقل قول نوشته شده توسط Evil 69 مشاهده تاپیک
    اره توي vb.net اين يك كاره خيلي ساده هستش شما مي توني يك كوئري توليد كني كه يك دستور update ( sql ) داخلش باشه بعد ديتا اداپتورتو با اون دستور fill كني البته براي اينكه يك شرط رو بتوني چك كني بايد از پارامتر هاي استفاد ه كني مثلا مي گي WHERE ID =I حالا مي ري توي پنجره تنظيمات ( سمت راست برنامه ) و اونجا در قسمت پارامتر يك پارامتر به نا م i اضافه مي كني همين و بس ( وقتي كه ادابتور رو با اون fill كني ميگه كه يك مقدار براي اون پارامتر بفرست )
    اگه میشه یه مثال بزنید

  5. #5
    نقل قول نوشته شده توسط kablayi مشاهده تاپیک
    سلام...
    از ExecuteNonQuery به جای ExecuteReader استفاده کنید ... ایشالا که جواب میده ...
    من از اکسس استفاده می کنم
    و کد شما خطا میده
    اگه میشه بیشتر توضیح بدید

  6. #6
    کاربر دائمی آواتار kablayi
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    شیراز
    پست
    773
    فکر کنم خیلی واضح باشه ...
    اون بالا نحوه اضافه کردن پارامتر به command رو نوشتم که چطوری بتونی مقداری رو که تو یه تکست باکس هست در Query استفاده و جایگزین کنی...
    مثلا قصد داری رکورد ID=100 رو پیدا کنی و مقدار name و tell رو از تکست باکس روی فرم مربوط به اونا بخونی و در جدول UPDATE کنی ...
    ((البته میتونی جای 100 هم با استفاده از پارامتر هر چی خواستی بذاری...))

    و هر وقت که خط cmd. ExecuteNonQuery اجرا شد Query با پارامترهای مربوطه مقداردهی شده ادغام شده و در جدول اعمال میشه ...

    در ضمن اگر دقت کرده باشی از OLEdbcommand و OleDbConnection استفاده کردم یعنی دارم از اکسس استفاده میکنم ...
    کد خودتو اینجوری نوشتم ... نمیدونم منظورتون همین بوده یا نه ...


    Dim StrSql as string = "Update A_Tabdil SET raft = 'false' where A_Tabdil.id_shali = @Temp1"
    Dim ol_cn As New OleDbConnection(ConStr)
    Dim ol_cm As New OleDbCommand(StrSql, ol_cn)
    cmd.Parameters.Add("@Temp1",Factor_F_T.id_shali)

    ol_cn.open()
    ol_cm. ExecuteNonQuery()
    ol_cn.close()



    ExecuteNonQuery زمانی استفاده میشه که بخوای در Query از UPDATE,INSERT و ... استفاده کنی و اگر در Query از SELECT استفاده کنی باید از Executereader استفاده کنی ...

    فکر کنم کافی باشه ...
    اگر سوال دیگه ای داشتی در خدمتیم ...
    موفق باشی...
    آخرین ویرایش به وسیله kablayi : چهارشنبه 25 اردیبهشت 1387 در 02:03 صبح

  7. #7
    جدی؟
    من UPDATE بلدم
    من میخوام تو فرم لود اینو بنویسم

    'ol_cm = New OleDbCommand("UPDATE A_Tabdil SET raft = false WHERE A_Tabdil.id_shali = Factor_F_T.id_shali ", ol_cn)

    Factor_F_T.id_shali یه فیلده از یه جدول دیگه.
    از زحمتت ممنونم ولی دقت کن

  8. #8
    دوستان تو update میشه شرط برابری دو فیلد از دو جدول مختلف قرار داد؟
    مثل:UPDATE A_Tabdil SET raft = false WHERE A_Tabdil.id_shali = Factor_F_T.id_shali

  9. #9
    شما برای این کار باید نام جدول ها و فیلد ها رو در کوئری دقیقآ مشخص کنید:

    UPDATE Table1,Table2
    SET Table1.name = "AAAAAA"
    WHERE Table1.ID=Table2.ID

  10. #10
    نقل قول نوشته شده توسط Morteza_s مشاهده تاپیک
    شما برای این کار باید نام جدول ها و فیلد ها رو در کوئری دقیقآ مشخص کنید:

    UPDATE Table1,Table2
    SET Table1.name = "AAAAAA"
    WHERE Table1.ID=Table2.ID
    ما تو اینجا فقط داریم Table1 اپدیت میکنیم !!!!!!!!!!
    فیلداشم دقیقا مشخصه

  11. #11
    تا حالا کسی به این مشکل بر نخورده؟

  12. #12
    نقل قول نوشته شده توسط saman_itc مشاهده تاپیک
    ما تو اینجا فقط داریم Table1 اپدیت میکنیم !!!!!!!!!!
    فیلداشم دقیقا مشخصه
    اگه فیلد raft در هر دو جدول هست و می خواید هر دو رو آپدیت کنید، این کد رو امتحان کنید:

    UPDATE A_Tabdil, Factor_F_T
    SET A_Tabdil.raft=false,Factor_F_T.raft=false
    WHERE A_Tabdil.id_shali = Factor_F_T.id_shali
    امیدوارم منظورتون رو درست متوجه شده باشم.

  13. #13
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    R0)ot -> Main();
    پست
    1,158

    نقل قول: مشکل برزرگ در update حرفه ای ها کمک کنن

    دیدم این تاپیک وجود دارد منم سوالم رو اینجا مطرح می کنم .


    من در Update مشکل دارم .

    این دستورات Update من هست :

    Cmd = New OleDbCommand("UPDATE [Order] set [Name] = '" & TxtName.Text & "',[Age] = '" & TxtAge.Text & "',[Job] = '" & Job & "',[Date] = '" & TxtDate.Text & "',[Tel] = '" & TxtTel.Text & "',[OrderHistory] = '" & OrderHistory & "',[BecauseResort] = '" & TxtBecauseResort.Text & "',[HistoryIllness] = '" & HistoryIllness & "',[Result] = '" & TxtResult.Text & "',[Medicine] = '" & TxtMedicine.Text & "',[ResultVisit] = '" & TxtResultVisit.Text & "' WHERE [FileNumber] = '" & TxtFileNumber.Text & "'", Cn)

    Cmd.ExecuteNonQuery()



    همچین Error می ده :


    No value given for one or more required parameters


    به خط Cmd.ExecuteNonQuery() گیر میده .


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


    Cmd = New OleDbCommand("Select * from [Order] where [FileNumber] = " & Chr(34) & FileNumber & Chr(34), Cn)
    DR = Cmd.ExecuteReader
    DR.Read()


    TxtName.Text = DR("Name")


    باتشکر احسان

  14. #14
    کاربر تازه وارد آواتار eli_joon
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    پاریس کوچولو
    پست
    56

    نقل قول: مشکل برزرگ در update حرفه ای ها کمک کنن

    نقل قول نوشته شده توسط saman_itc مشاهده تاپیک
    دوستان تو update میشه شرط برابری دو فیلد از دو جدول مختلف قرار داد؟
    مثل:UPDATE A_Tabdil SET raft = false WHERE A_Tabdil.id_shali = Factor_F_T.id_shali

    بله که میشه :
    اگه A_Tabdil جدول شماره 1 و factor_f_t جدول شماره 2 باشه آنگاه :

    UPDATE A_Tabdil SET A_Tabdil.raft= false WHERE A_Tabdil.id_shali =Factor_F_T.id_shali
    -------------------------------------------------------------مشکل اینجا بود-------------------------

  15. #15
    مدیر بخش آواتار salehbagheri
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    In Hearts
    سن
    34
    پست
    2,225

    نقل قول: مشکل برزرگ در update حرفه ای ها کمک کنن

    دوست عزيز Sanaz13X!
    اميدوارم كه صاحب تاپيك، از دست شما ناراحت نشه!

    شما بجاي اينكه تمامي كدتون را در يك خط بنويسيد، از پارامترها استفاده كنيد! (همانند پست شماره 3 و 6 از Mr Kablayi در همين تاپيك)
    امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....

    به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....

    دلنوشته های من


  16. #16
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    R0)ot -> Main();
    پست
    1,158

    نقل قول: مشکل برزرگ در update حرفه ای ها کمک کنن

    نقل قول نوشته شده توسط salehbagheri مشاهده تاپیک
    دوست عزيز Sanaz13X!
    اميدوارم كه صاحب تاپيك، از دست شما ناراحت نشه!

    شما بجاي اينكه تمامي كدتون را در يك خط بنويسيد، از پارامترها استفاده كنيد! (همانند پست شماره 3 و 6 از Mr Kablayi در همين تاپيك)
    آیا نمی شه کاری کرد که از پارامتر استفاده نکنم و همه چی در کد SQL قرار گیرد ؟


    این سوال هم جواب دهید .

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


    Cmd = New OleDbCommand("Select * from [Order] where [FileNumber] = " & Chr(34) & FileNumber & Chr(34), Cn)
    DR = Cmd.ExecuteReader
    DR.Read()


    TxtName.Text = DR("Name")


    باتشکر احسان

  17. #17
    کاربر دائمی آواتار mc_laren
    تاریخ عضویت
    آذر 1385
    محل زندگی
    بهبهان
    پست
    197

    نقل قول: مشکل برزرگ در update حرفه ای ها کمک کنن

    به نام خدا
    با سلام
    این جواب دوستمان saman_itc می باشد.
    البته شاید الان بدردشان نخوره ولی شاید برای دیگر دوستان مفید باشه.
    update t1,t2 set raft=false where t1.f=t2.f
    حالت کلی هم این می باشد که باید اسم هر جدولی که می خواهیم استفاده کنیم
    رو در اول بیاوریم.
    البته من این کد رو در اکسس امتحان کردم و در دات نت نه اون با شما.

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

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