تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مهم للغايه حدث LAOD أبي حل
#21
السلام عليكم ورحمة الله

أخي عادل

ألم تقرأ ردي

الفكرة الصحيحة أن لا يكون هناك رقم ، ولكن بعد أن تتم عملية اللحفظ ستعود ExecuteScalar بنتيجة Select @@IDENTITY بالرقم التلقائي الذي حفظ، عندها ضعه في مربع النص وأيضاً عدل إسم الملف واجعله بنفس.

الحل أمامك ولاكن تمسكك بفكرتك جعلك لا ترى الحلول الصحيحة.

أترك الفكرة التي لديك وانظر لهذا المثال:

قام المستخدم A بفتح النافذة وكذلك قام المستخدم B ولكن كل منهم لا يرى رقما (طبيعي لإنه لم يحفظ شيئاً)

عندما يحفظ المستخدم B قبل A يحفظ بياناته ويعود له بالرقم الجديد وليكن 29 ويقوم الكود هنا بتغيير إسم الملف ل 29 أو نسخه باسم يكون برقم 29،
وعندما يحفظ المستخدم A بعده مباشرة يحفظ بياناته سيعود له بالرقم الجديد وهو 30 ويقوم الكود هنا بتغيير إسم الملف ل 30 أو نسخه باسم يكون برقم 30،
بهذه الطريقة لن يحدث تكرار أبداً.

بالمناسبة ستسخدم هنا ExecuteScalar وليس ExecuteNonQuery لتقرأ الرقم المعاد للحفظ

مثال:
PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click

    Dim id 
As Integer

    Using connection 
As New SqlClient.SqlConnection(My.Settings.db1ConnectionString)
        
Using command As New SqlClient.SqlCommand("Insert Into [Table1]([name]) Values (@name); Select @@IDENTITY;"connection)
            
command.Parameters.AddWithValue("@name"TextBox2.Text)
            
connection.Open()
            
id command.ExecuteScalar' لاحظ تم استخدام ExecuteScalar
            connection.Close()
        End Using
    End Using

    TextBox1.Text = id

    If id > 0 Then
        ' 
هنا تستطيل التعامل مع الملف بتغيير اسمه أو نسخه
        FileSystem
.Rename("D:\...\New Text Document.txt",
                          
"D:\...\" & id & " .txt")

        MessageBox.Show("
تم حفظ البيانات برقم" & id)
    End If

End Sub 
طبعاً على أساس أنك ما زلت تستخدم الأسلوب القديم في التعامل قاعدة البيانات

وهذا نفس المثال ولكن بالطريقة الحالية
PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
    Dim itm 
As New Table1
    itm
.Name TextBox2.Text

    context
.Table1s.InsertOnSubmit(itm)
    
context.SubmitChanges()

    
TextBox1.Text itm.ID

    MessageBox
.Show("تم حفظ البيانات برقم: " itm.ID)

    
FileSystem.Rename("D:\...\New Text Document.txt",
                      
"D:\...\" & itm.ID & " .txt")

    MessageBox.Show("
تم حفظ البيانات برقم" & itm.ID)

End Sub 
الرد }}}
تم الشكر بواسطة:
#22
السلام عليكم ورحمة الله

أخي عادل

إحذر من وضع الأكواد في حدث التحميل Form1_Load فهي فكرة خاطئة
الرد }}}
تم الشكر بواسطة: khodor1985
#23
أخوي خضر الله يعطيك العافيه 

مهموم ليه حتى لو كان يأدي غرض معين ..؟


هذا مرفق والله نص ساعه ويمكن أكثر عشـان أسويه

أنشـاء الله يشتغل ويطلع تمام


الملفات المرفقة
.zip   D_1.zip (الحجم : 529 بايت / التحميلات : 34)
الرد }}}
تم الشكر بواسطة:
#24
السلام عليكم ورحمة الله

أخي عادل

حدث التحميل لا يظهر يصيد أكثر الأخطاء لهذا لا يسخدم في التعامل قاعدة البيانات خصوصاً

لا يوجد شيء في المرفق
الرد }}}
تم الشكر بواسطة:
#25
طيب شوفو هذا إذا ما أشتغل أعذروني والله معرف أرفق ملف


الملفات المرفقة
.zip   D_2.zip (الحجم : 11.46 ك ب / التحميلات : 37)
الرد }}}
تم الشكر بواسطة:
#26
السلام عليكم ورحمة الله

أخي عادل

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

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

أخي عادل

أيضاً المرفق لايوجد مشروع صالح للتشغيل
بالاضافة لملف Form1 فلا يوجد به أي كود

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

أخي عادل

ممكن تذكر اسم الجدول وأسماء الأعمدة لأقوم بتجربتها ووضع الكود الذي يرضيك بإذن الله تعالى

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

أخي عادل

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

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

أخي عادل

أرجو أن تعذرني فوقتي غير مضمون (والله ليس تكبراً ولكن لدي عذري) وكلي ثقة بالاستشاريين الكبار في المشاركين
الرد }}}
تم الشكر بواسطة:
#27
عليكم السـلام ورحمة الله وبركاته

أخوي مهموم وفقك الله أنت وجميع الأخوان في هذا المنتدى من ساعدني ومن لم يساعدني الأمور طيبه وأنت وقفت معي ولا يحتاج لأزعل على أحد

أسم العمود في قاعدة البيانات Malf وأسم التسكست textmalf.text طبعاً سيكون مرئي فقط وعند ضغط المستخدم زر الحفظ يفحظ الملف أينيبل = تترو

الأعمده كثيـره قرابة 42 عمود ولكن أريد أن يكون رقم تلقائي أي طريقه كانت المهم إذا أحد فتح النموذج ليدخل بيانات يكون هناك كود أحترازي يعطيه رقم أخر
الرد }}}
تم الشكر بواسطة:
#28
السلام عليكم ورحمة الله

أخي عادل

ألم تستوعب مسألة أن الرقم التلقائي يأتي بعد الحفظ وليس قبله

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

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

أخي عادل

هل جربت الكود الذي وضعته لك في ردي الأخير؟
الرد }}}
تم الشكر بواسطة:
#29
سأقوم بتجربته ولكن تذكر أن هناك تسكست بكس خاص بالملف لا أريد أن يدخله المستخدم وفي نفس الوقت أريد المستخدم أن يراه ليقوم بأنشـاء المجلد وتسمية بنفس الأسم الموجود في الداتا أنا سأطبق أي فكره مهما كان لن أتمسك بحل وربما لو لاحظت ردي أنني طلبت منكم المساعده في أيجاد حل بديل
سأقوم بتجربة الكود الآن أعتذر لم أجربه أنا أسف سأجربه الأن

خاولت أطبقه يعطيني أخطاء بصراحه ماعرفت أتعامل مع الأكواد
الرد }}}
تم الشكر بواسطة:
#30
السلام عليكم ورحمة الله

أخي عادل

ممكن تنسخ كود الفورم كامل وتضعه هنا!

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

أخي عادل

وإذا تقدر تسحب Script قاعدة البيانات (البنية فقط بدون بيانات) عشان توفر عليّ إنشاء 42 عمود (حسب ما ذكرتم) وأطبق الحل وأضعه لك.
الرد }}}
تم الشكر بواسطة:


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم