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

نام تاپیک: مشکل پس از اجرای دستورinsert

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1386
    محل زندگی
    اهواز
    پست
    49

    مشکل پس از اجرای دستورinsert

    سلام. من می خواهم در دیتا گرید و دیتابیسم اطلاعاتی را از طریق textbox وارد کنم دستور اجرا می شود(در جدولم اضافه شده) اما وقتی به این خط می رسد exception می دهد
    .
    .
    ("adapter.fill(dset,"TelNeed

    خطا:

    The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
    ممنون

  2. #2
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: مشکل پس از اجرای دستورinsert

    این خطا که میگه مشکل از دادهها هست.
    ولی یه بار قبل از Fill کردن دوباره دیتاست ، متد Clear اون رو صدا بزن ، اگه درست نشد کد ثبت و fill مجدد رو اینجا بزار.

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

    نقل قول: مشکل پس از اجرای دستورinsert

    سلام . باز هم همان error را داد !


    Public Function insertCom(ByVal insString As String, ByVal tblString As String) As DataSet

    Dim ds As New DataSet
    ' Try

    Dim cmd As New OleDbCommand(insString, connection)
    Dim adapter As New OleDbDataAdapter(cmd)

    connection.Open()
    cmd.ExecuteNonQuery()

    adapter.Fill(ds, tblString)



    ' Catch ex As Exception
    'MessageBox.Show("عملیات درج انجام نمی شود")
    'End Try

    Return ds
    End Function

    در رویداد کلیک برای ثبت هم

    Private Sub btnN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnN.Click

    If btnN.Text = "جدید" Then
    If txtNname.Text <> "" AndAlso txtNtel.Text <> "" Then
    Dim str As String = "insert into TelNeed values('" & txtNname.Text & "','" & txtNtel.Text & "')"
    Dim dset As DataSet = FunctionDb.insertCom(str, " TelNeed")
    FunctionDb.conClose()
    DataGridViewN.DataSource = dset.Tables("TelNeed")

    Else
    MessageBox.Show("لطفا فیلدها را پر کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End If


    End If

    End Sub

  4. #4
    VIP
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: مشکل پس از اجرای دستورinsert

    جدا از مشكلات عمده اي كه در كد شما وجود داره (به دليل اينكه به مشكل فعلي شما ربطي نداره را جع به هشون توضيح نميدم) .
    ياد آوري:
    شما براي درج ركورد در جدول نياز به يك كوئري از جنس insert دارين و براي انتخاب ركورد نياز به كوئري از جنس select دارن.

    شما يك كوري براي insert درست كردين (كه عمل درح درست انجام ميشه) ، ولي نميتونين براي پر كردن dataset از همون كوئري insert استفاده كنيد ، بايد يك كوئري select رو هم ايجاد كنيد.
    پيشنهاد ميكنم اين لينك رو مطالعه بفرمايي.

  5. #5
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: مشکل پس از اجرای دستورinsert

    این مشکل بخاطر اینه که مقدار فیلد کلید جدول دو بار تکرار میشه و برنامه این خطا را نمایش میده . یا کاربر داده متفاوت با کلید یکسان وارد کنه این اتفاق می افته

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

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