تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة عند الحفظ
#1
السلام عليكم ورحمة الله

إخواني الأعزاء عندي مشكلة في الحفظ 
 بسبب حقلين  من نوع تيكست في قاعدة البيانات أكسيس مصممين على ان لا يقبل  قيمة متكررة
في بعض الأحيان يكون حقل من الحقلين فارغا وعندما أضغط على زر الحفظ تظهر  رسالة خطاء بعدم السماح لتسجيل قيمة مكررة 
وهاذه هية جملة الحفظ المباشر
وجزاكم الله كل خير.
كود :
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]
الرد }}}
تم الشكر بواسطة:
#2
قمت بذكر المشكلة وذكر السبب والحل

الغي عملية عدم التكرار للحقلين واستبدلها بالاسعلام قبل ادخال البيانات اذا كانت موجودة يظهر للمستخدم رسالة تفيد بذلك ما لم يقوم بالحفظ
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
تم الشكر بواسطة:
#3
شكرا على الرد أخي تركي أعرف ذالك ولكن المشكلة إذا ألغيت عدم التكرار في الحقيلن سأقع في مشكلة يوما ما لأنني بعض الاحيان أقوم بإدخال عدد كثير من السجلات  في قاعدة البيانات منسوخة من الاكسيل والذي أرغب فيه وهو يتم الحفظ ولو كان التكست بوكس فارغا لان جملة الحفظ تتعتبر القيمة الفارغة كقيمة مضافة
ولكم جزيل الشكر.
الرد }}}
تم الشكر بواسطة:
#4
(30-01-24, 02:51 PM)Abdellah كتب : شكرا على الرد أخي تركي أعرف ذالك ولكن المشكلة إذا ألغيت عدم التكرار في الحقيلن سأقع في مشكلة يوما ما لأنني بعض الاحيان أقوم بإدخال عدد كثير من السجلات  في قاعدة البيانات منسوخة من الاكسيل والذي أرغب فيه وهو يتم الحفظ ولو كان التكست بوكس فارغا لان جملة الحفظ تتعتبر القيمة الفارغة كقيمة مضافة
ولكم جزيل الشكر.

أعمل كما قال الأخ تركي
وهذه المشكلة تتخلص منها بحيث تنسخ البيانات في جدول مشابه للجدول الذي تريد الحفظ فيه
ثم تضع كود بنسخ البيانات من الجدول الوسيط للجدول النهائي (بحلقة تكرارارية) تشيك من خلالها عليها سجل سجل بشرط عدم التكرار مع ما تم نسخه من قبل..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#5
أخي طه السلام عليكم شكرا على الرد 
هل يمكن بأن نضع كود يسمح لتكست بوكس المعني بتسجيل قيمة فارغة في قاعدة البيانات ؟؟
الرد }}}
تم الشكر بواسطة:
#6
(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 = ""
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة:
#7
شكرا أخي طه على وجود الحل وسأجربه إن شاء الله
ولكن لم أفهم ماتقصد بأنه في مقياس الناس لا يوجد مشكلة مالم تذكر لهم أنه يوجد مشكلة فينتبهوا لها، وكذلك في الأكواد 
المرجو أن تشرح لي ذالك وشكرا.
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: