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

نام تاپیک: مشکل update یک table از طریقdatagridview

  1. #1
    کاربر دائمی آواتار anooshiran
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    تهران anoosh_resha@yahoo.com
    پست
    576

    Tick مشکل update یک table از طریقdatagridview

    سلام دوستان
    من اطلاعاتی را درون table می ریزم که دارای 10 fild است. حالا می خواهم فقط روی 2 fild تغییراتی بدهم و آن زا Update کنم. ابتدا دو فیلد را با فرمان select انتخاب می کنم و درون یک dataset قرار می دهم وبعد یک datagridview را با محتویات dataset پر می کنم و آنگاه درون datagridview مبادرت به تصحیح و ویرایش فیلد ها میکنم. در انتها وقتی می خواهم آن را update کنم از طریق add watch مراحل update را کنترل می کنم. به ظاهر که همه چیز درست انجام میشود و update صورت می گیرد ولی در عمل هیچ اتغاقی برای table نمی افتد.و update نمی شود. من کدهای خود را در این جا می نویسم. اگر کمک کنید که این مشکل را حل کنم ممنون و شرمنده خواهم بود
       
    Dim
    sqlCon AsNew SqlClient.SqlConnection("Integrated Security=SSPI;Data Source=SERVER ;Initial Catalog='BasisInfo'")
    Dim sqlDtA AsNew Data.SqlClient.SqlDataAdapter("", sqlCon)
    Dim dSet AsNew DataSet
    Dim dTable AsNew DataTable
    Dim sqlCom AsNew SqlClient.SqlCommand("", sqlCon)

    With sqlDtA
    .SelectCommand = sqlCom
    .SelectCommand.Connection = sqlCon
    .SelectCommand.CommandText =
    "SELECT Name , Description FROM BasisMainDetail WHERE ConToMaster=" + conToDetail.ToString.Trim
    If dSet.Tables.Contains("BasisMainDetail") Then dSet.Tables.Remove("BasisMainDetail")
    .Fill(dSet,
    "BasisMainDetail")
    .Dispose()
    EndWith
    dTable = dSet.Tables("BasisMainDetail")
    ' sqlCom.CommandText = "UPDATE BasisMainDetail SET Name=@Name,Description=@Description WHERE ConToMaster=@ConToMaster AND Row=@Row"
    sqlCom.CommandText = "UPDATE BasisMainDetail SET Name=@Name,Description=@Description WHERE Row=@Row AND ConToMaster=" + conToDetail.ToString.Trim
    For i AsInteger = 0 To dgvAdvDoc.Rows.Count - 1
    With sqlCom.Parameters
    .Clear()
    .AddWithValue(
    "@Name", dgvAdvDoc.Rows(i).Cells(0).Value)
    .AddWithValue(
    "@Description", dgvAdvDoc.Rows(i).Cells(1).Value)
    .AddWithValue(
    "@ConToMaster", conToDetail)
    .AddWithValue(
    "@Row", i + 1)
    EndWith
    sqlCom.ExecuteNonQuery()
    Next i
    sqlCon.Close()


    با تشکر از دوستانی که به این نوشته توجه و مرا یاری می فرمایند.

    چشم ها را باید شست/جور دیگر باید دید.

  2. #2
    کاربر دائمی آواتار anooshiran
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    تهران anoosh_resha@yahoo.com
    پست
    576
    واقعا کسی نمی تواند در این مورد به من کمک کند
    هنوز هم منتظر الطاف دوستان هستم

  3. #3
    کاربر دائمی آواتار anooshiran
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    تهران anoosh_resha@yahoo.com
    پست
    576
    سلام دوستان
    بالاخره مجبور شدم کد ها را عوض کنم و از متد دیگری استفاده کنم
    در ضمن نمی دانم چرا دوستان معمولا تاپیک های مرا بی پاسخ می گذارند.به هر حال هر کسی از این سایت بهره می گیرد جهت حل مشکلی است و چه بهتر که اگر روزی مشکلی از خودش حل شده به یاری دیگران هم بشتابد.

    Dim sqlCon AsNew SqlClient.SqlConnection("Integrated Security=SSPI;Data Source=SERVER ;Initial Catalog='BasisInfo'")
    Dim sqlDtAdp AsNew Data.SqlClient.SqlDataAdapter("", sqlCon)
    Dim dSet AsNew DataSet
    Dim dTable AsNew DataTable
    Dim sqlCom AsNew SqlClient.SqlCommand("", sqlCon)


    sqlDtAdp.SelectCommand.CommandText = "SELECT Name , Description ,IsValid ,Code FROM BasisMainDetail WHERE ConToMaster=" + conToDetail.ToString.Trim
    If dSet.Tables.Contains("BasisMainDetail") Then dSet.Tables.Remove("BasisMainDetail")
    sqlDtAdp.Fill(dSet,
    "BasisMainDetail")
    sqlCon.Close()
    dTable.Clear()
    dTable = dSet.Tables(
    "BasisMainDetail").Copy

    PrivateSub Update_DetailTable(ByVal Selection AsString)
    If sqlCon.State = ConnectionState.Closed Then sqlCon.Open()
    Dim sqlComBld AsNew SqlClient.SqlCommandBuilder()
    sqlComBld.DataAdapter = sqlDtAdp
    sqlDtAdp.UpdateCommand = sqlComBld.GetUpdateCommand
    sqlDtAdp.InsertCommand = sqlComBld.GetInsertCommand
    sqlDtAdp.DeleteCommand = sqlComBld.GetDeleteCommand
    sqlDtAdp.Update(dTable)
    EndSub



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

  1. Update database With DataGridView
    نوشته شده توسط eyes_shut_number1 در بخش VB.NET
    پاسخ: 4
    آخرین پست: سه شنبه 09 بهمن 1386, 16:41 عصر
  2. پاسخ: 2
    آخرین پست: شنبه 22 دی 1386, 08:43 صبح
  3. UPDATE Table
    نوشته شده توسط @AM!R! در بخش SQL Server
    پاسخ: 2
    آخرین پست: دوشنبه 10 دی 1386, 11:19 صبح
  4. Update database With DataGridView
    نوشته شده توسط eyes_shut_number1 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 21 آبان 1386, 10:18 صبح
  5. update کردن datagridview
    نوشته شده توسط farhadyoosefi در بخش VB.NET
    پاسخ: 7
    آخرین پست: پنج شنبه 10 اسفند 1385, 22:00 عصر

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

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