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

نام تاپیک: پیغام خطا در Update کردن database

  1. #1
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    پیغام خطا در Update کردن database

    چند سوال درباره SQL server داشتم.
    1) در این کد چه ایرادی وجود داره؟


    Dim myRow As DataRow

    myRow = dsDataSet.Tables(0).NewRow()
    myRow("iduser") = intIDUser
    myRow("date") = Date.Today.Date
    myRow("action") = strMessage
    dsDataSet.Tables(0).Rows.Add(myRow)
    '**
    Dim last As Integer = dsDataSet.Tables(0).Rows.Count
    dsDataSet.Tables(0).GetChanges()
    If dsDataSet.HasErrors Then
    ErrorHandled()
    Else
    If Not (UpdateDataBase(strDataSourceConnection, dsDataSet, "logfile")) Then
    MsgBox(" LogFile " & "خطا در به روزرسانی پایگاه داده", MsgBoxStyle.OKOnly)
    End If
    End If

    وقتی برای بار دوم این کد اجرا میشه، dsDataSet.HasErrors=true میشه. این کد رو از روی کتاب database انتشارات WROX نوشتم. در اون کد یه دستور Movelast() ( در محلی که * گذاشتم)وجود داشت که مشخص نبود مرجعش کجا ست.

    2)در این تکه کد که برای Update شدن Databse اصلی هست، این خطا رو می گیره.( در دستور myDataAdapter.Update(dsChangedRows, strTable) این خطا رو میگیره)

    Update requires a valid InsertCommand when passed DataRow collection with new rows
    دلیلش چی هست؟


    Public Function UpdateDataBase(ByVal strConnection As String, ByVal _
    dsDataSet As DataSet, ByVal strTable As String) As Boolean
    Dim dsDataSetChanges As DataSet
    dsDataSetChanges = dsDataSet.GetChanges
    If (Not (dsDataSetChanges) Is Nothing) Then
    Try
    UpdateDataSource(dsDataSetChanges, strTable)
    dsDataSet.Merge(dsDataSetChanges)
    dsDataSet.AcceptChanges()
    Catch eUpdate As System.Exception
    Return False
    ErrorHandled()
    End Try
    End If
    Return True
    End Function
    Public Sub UpdateDataSource(ByVal dsChangedRows As DataSet, ByVal strTable As String)
    Dim myDataAdapter As New SqlClient.SqlDataAdapter
    Try
    'The data source only needs to be updated if there are changes pending.
    If (Not (dsChangedRows) Is Nothing) Then
    'Attempt to update the data source.
    myDataAdapter.Update(dsChangedRows, strTable)
    End If
    Catch updateException As System.Exception
    ErrorHandled()
    End Try
    End Sub


  2. #2
    کاربر دائمی آواتار MShirzadi
    تاریخ عضویت
    آذر 1385
    محل زندگی
    تهران
    پست
    325
    به نظر من فکر میکنم که شما باید قبل از اینکه دستور Update رو بنویسبد باید یک متغیر از نوع oledbCommandBuilder تعریف کنید یعنی :
    Dim cb as new oledbCommandBuilder(da)
    da.UpDate(ds,"tblName")
    که در این کد da از نوع oledbdataAdapter تعریف شده است
    امیدوارم جوابتو گرفته باشی

  3. #3
    ضمن تایید حرف های دوستمون اگه مشکل شما حل نشد من یک مثال در این پست قرار دادم می تونید یه نگاهی به اون هم بندازید
    https://barnamenevis.org/showthread.php?t=57609

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

  1. چرا database من update نمیشه؟
    نوشته شده توسط negar84 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 01 مهر 1385, 21:22 عصر
  2. update database
    نوشته شده توسط ابراهیم_م در بخش VB.NET
    پاسخ: 1
    آخرین پست: سه شنبه 17 مرداد 1385, 15:21 عصر
  3. update کردن database
    نوشته شده توسط tizdast در بخش VB.NET
    پاسخ: 11
    آخرین پست: یک شنبه 03 اردیبهشت 1385, 06:00 صبح
  4. Update Database
    نوشته شده توسط (سیدشریفی) در بخش ASP.NET Web Forms
    پاسخ: 14
    آخرین پست: چهارشنبه 16 اردیبهشت 1383, 09:52 صبح
  5. چطور یه Database رو بوسیله اینترنت Update کنم ؟
    نوشته شده توسط tazekar در بخش توسعه نرم افزار تحت وب
    پاسخ: 2
    آخرین پست: پنج شنبه 23 مرداد 1382, 01:06 صبح

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

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