اخواني الاعزاء
عندما أضع استعلام في ال dataset يظهر لي هذا الخطأ
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
مع ان نفس هذا الاستعلام ينفذ ويعطي نتائج صحيحة في query analyzer
اخواني الاعزاء
عندما أضع استعلام في ال dataset يظهر لي هذا الخطأ
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
مع ان نفس هذا الاستعلام ينفذ ويعطي نتائج صحيحة في query analyzer
ممكن الكود بعد إذنك
اخي االعزيز karim_tarek
شكرا على اهتمامك الكود هو
Public Class Report1
Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter
Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection
Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand
Me.DataSet21 = New RAVL.DataSet2
CType(Me.DataSet21, System.ComponentModel.ISupportInitialize).BeginInit()
'
'SqlDataAdapter1
'
Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1
Me.SqlDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Audio", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("SerialNo", "SerialNo"), New System.Data.Common.DataColumnMapping("branch_name", "branch_name"), New System.Data.Common.DataColumnMapping("Production", "Production"), New System.Data.Common.DataColumnMapping("Speaker", "Speaker"), New System.Data.Common.DataColumnMapping("Title", "Title"), New System.Data.Common.DataColumnMapping("ForP", "ForP"), New System.Data.Common.DataColumnMapping("OrderByP", "OrderByP"), New System.Data.Common.DataColumnMapping("SPerson", "SPerson"), New System.Data.Common.DataColumnMapping("Qty", "Qty"), New System.Data.Common.DataColumnMapping("Amount", "Amount"), New System.Data.Common.DataColumnMapping("GorS", "GorS"), New System.Data.Common.DataColumnMapping("branch_id", "branch_id")})})
'
'SqlConnection1
'
Me.SqlConnection1.ConnectionString = "workstation id=NAIF;packet size=4096;user id=ravl;password=ravl;data source=NAIF;persist securi" & _
"ty info=False;initial catalog=RAVL"
'
'SqlSelectCommand1
'
Me.SqlSelectCommand1.CommandText = "SELECT Audio.SerialNo, branch.branch_name, Audio.Production, Audio.Speaker, Audio" & _
".Title, AudioDetailesSub.ForP, AudioDetailesSub.OrderByP, AudioDetailesSub.SPers" & _
"on, AudioDetailesSub.Qty, AudioDetailesSub.Amount, AudioDetailesSub.GorS, Audio." & _
"branch_id FROM Audio INNER JOIN branch ON Audio.branch_id = branch.branch_id INN" & _
"ER JOIN AudioDetailesSub ON Audio.SerialNo = AudioDetailesSub.SerialNo AND Audio" & _
".branch_id = AudioDetailesSub.branch_id"
Me.SqlSelectCommand1.Connection = Me.SqlConnection1
'
'DataSet21
'
Me.DataSet21.DataSetName = "DataSet2"
Me.DataSet21.Locale = New System.Globalization.CultureInfo("ar-SA")
CType(Me.DataSet21, System.ComponentModel.ISupportInitialize).EndInit()
End Sub
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents SqlDataAdapter1 As System.Data.SqlClient.SqlDataAdapter
Protected WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection
Protected WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand
Protected WithEvents DataSet21 As RAVL.DataSet2
Protected WithEvents l1 As System.Web.UI.WebControls.Label
'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
DataSet21.Clear()
DataGrid1.EnableViewState = True
SqlSelectCommand1.CommandText = Request.QueryString("qry")'qry is a query comes from another page
SqlDataAdapter1.Fill(DataSet21)
If DataSet21.Tables(0).Rows.Count = 0 Then
DataGrid1.Visible = False
l1.Visible = True
Else
DataGrid1.DataBind()
l1.Visible = False
End If
End Sub
End Classاخي ربما هنا الخطأ
مع انه ليس خطأ ولكنها مشكلة دت نت
Audio.branch_id = branch.branch_id
1- تأكد من هذين الحقلين فيجب ان تكون كل سجلات branch.branch_id موجودة في Audio.branch_id
2- اضف سطر جديد واحد الى Audio واجعل له تفصيل واحد على الاقل في branch
والعلم عند الله
جرب أن تضيف السطر التالي في Page_Load
DataSet21.EnforceConstraints = False
تم تعديل هذه المشاركة بواسطة Abo Waleed في 2 أغسطس 2005 في 08:17
اخواني Abo Waleed ,karim_tarek ,blackeyes
شكرا لكم
المشكلة انحلت ولله الحمد
طيب يا أخي كنا نود أن نعرف أين كانت المشكلة, إذا كنت لاتمانع
أخي العزيز karim_tarek متأسف جدا كون الرد كان سريعا وبدون تفاصيل
عندي ثلاثة جداول ( branch,audio,AudioDetailesSub )
ال primary key في جدول audio هما serialno,branch_id
وال primary key في جدول branch هو branch_id
في جدول AudioDetailesSub موجود عندي serialno,branch_id ولكن الجدول لايوجد به primary key
والعلاقة (1-M) بين audio,AudioDetailesSub
وكانت قيم serialno,branch_id تتكر في جدول AudioDetailesSub (وهنا المشكلة مع انها لاتوجد مشكلة)
الحل:
قمت بإلغاء ال primary key في جدول Audio
وتحكمت ب ال primary key في جدول audio عن طريق ال coding
ومشت الامور على مايرام
وأكرر أسفي على عدم التوضيح
ولكم مني جزيل الشكر,,,,,,
يا أخي و الله لاداعي للأسف و لكن مشاركتك لنا الحل من باب الفائدة لنا جميعا, و مشكور على سرعة تجاوبك و كرمك في التفاعل
هذا الموضوع مغلق.