منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] مشكلة عند الحفظ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] مشكلة عند الحفظ (/showthread.php?tid=47865)



مشكلة عند الحفظ - Abdellatif - 30-01-24

السلام عليكم ورحمة الله

إخواني الأعزاء عندي مشكلة في الحفظ 
 بسبب حقلين  من نوع تيكست في قاعدة البيانات أكسيس مصممين على ان لا يقبل  قيمة متكررة
في بعض الأحيان يكون حقل من الحقلين فارغا وعندما أضغط على زر الحفظ تظهر  رسالة خطاء بعدم السماح لتسجيل قيمة مكررة 
وهاذه هية جملة الحفظ المباشر
وجزاكم الله كل خير.
كود :
Dim cmd As New OleDbCommand=con.CreateComand
cmd.commandtext=
‏”Insert Into table1 ([code] , [cin])
Values (@TextBox1.text, @TextBox1. text)”
‏cmd.paramerters.Addwithvalus(“@code”, TextBox1.text)
cmd.paramerters.Addwithvalus(“@cin”, TextBox2.text)

‏con. Open)
‏cmd. ExecuteNonQuery()
‏con. Close ()
[/code]


RE: مشكلة عند الحفظ - تركي الحلواني - 30-01-24

قمت بذكر المشكلة وذكر السبب والحل

الغي عملية عدم التكرار للحقلين واستبدلها بالاسعلام قبل ادخال البيانات اذا كانت موجودة يظهر للمستخدم رسالة تفيد بذلك ما لم يقوم بالحفظ


RE: مشكلة عند الحفظ - Abdellah - 30-01-24

شكرا على الرد أخي تركي أعرف ذالك ولكن المشكلة إذا ألغيت عدم التكرار في الحقيلن سأقع في مشكلة يوما ما لأنني بعض الاحيان أقوم بإدخال عدد كثير من السجلات  في قاعدة البيانات منسوخة من الاكسيل والذي أرغب فيه وهو يتم الحفظ ولو كان التكست بوكس فارغا لان جملة الحفظ تتعتبر القيمة الفارغة كقيمة مضافة
ولكم جزيل الشكر.


RE: مشكلة عند الحفظ - Taha Okla - 30-01-24

(30-01-24, 02:51 PM)Abdellah كتب : شكرا على الرد أخي تركي أعرف ذالك ولكن المشكلة إذا ألغيت عدم التكرار في الحقيلن سأقع في مشكلة يوما ما لأنني بعض الاحيان أقوم بإدخال عدد كثير من السجلات  في قاعدة البيانات منسوخة من الاكسيل والذي أرغب فيه وهو يتم الحفظ ولو كان التكست بوكس فارغا لان جملة الحفظ تتعتبر القيمة الفارغة كقيمة مضافة
ولكم جزيل الشكر.

أعمل كما قال الأخ تركي
وهذه المشكلة تتخلص منها بحيث تنسخ البيانات في جدول مشابه للجدول الذي تريد الحفظ فيه
ثم تضع كود بنسخ البيانات من الجدول الوسيط للجدول النهائي (بحلقة تكرارارية) تشيك من خلالها عليها سجل سجل بشرط عدم التكرار مع ما تم نسخه من قبل..


RE: مشكلة عند الحفظ - Abdellah - 30-01-24

أخي طه السلام عليكم شكرا على الرد 
هل يمكن بأن نضع كود يسمح لتكست بوكس المعني بتسجيل قيمة فارغة في قاعدة البيانات ؟؟


RE: مشكلة عند الحفظ - Taha Okla - 31-01-24

(30-01-24, 07:03 PM)Abdellah كتب : أخي طه السلام عليكم شكرا على الرد 
هل يمكن بأن نضع كود يسمح لتكست بوكس المعني بتسجيل قيمة فارغة في قاعدة البيانات ؟؟

هو مش منطقي هذا الحل ..

ولكن إذا لزم الأمر- فتذكر أنه في مقياس الناس لا يوجد مشكلة مالم تذكر لهم أنه يوجد مشكلة فينتبهوا لها، وكذلك في الأكواد..

الحل :
كود :
Dim cmd As New OleDbCommand()
cmd.Connection = Con

If TextBox1.Text.Trim = "" And TextBox2.Text.Trim = "" Then
    Exit Sub
ElseIf TextBox1.Text.Trim = "" Then
    cmd.CommandText = "Insert Into Table1 ([cin])  Values (@cin)"
    cmd.Parameters.AddWithValue("@cin", TextBox2.Text)
ElseIf TextBox2.Text.Trim = "" Then
    cmd.CommandText = "Insert Into Table1 ([code])  Values (@code)"
    cmd.Parameters.AddWithValue("@code", TextBox1.Text)
Else
    cmd.CommandText = "Insert Into Table1 ([code] , [cin])  Values (@code, @cin)"
    cmd.Parameters.AddWithValue("@code", TextBox1.Text)
    cmd.Parameters.AddWithValue("@cin", TextBox2.Text)
End If

Con.Open()
cmd.ExecuteNonQuery()
Con.Close()

TextBox1.Text = ""
TextBox2.Text = ""



RE: مشكلة عند الحفظ - Abdellah - 31-01-24

شكرا أخي طه على وجود الحل وسأجربه إن شاء الله
ولكن لم أفهم ماتقصد بأنه في مقياس الناس لا يوجد مشكلة مالم تذكر لهم أنه يوجد مشكلة فينتبهوا لها، وكذلك في الأكواد 
المرجو أن تشرح لي ذالك وشكرا.