اذهب إلى المحتوى
  • 0

الحصول على max ID في مرحلة الإضافة c# entity framework

Code Zero

السؤال

DMM.DB.TBL_SUPP P = new DMM.DB.TBL_SUPP();

                    P.SUPP_NAME = edt_name.Text;
                    P.SUPP_ADDRESS = edt_address.Text;

ممكن طريقة اجيب بيها maxid  وينزل فى تكس بوكس txtSupplierID 

فى مرحلة الاضافة

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال ونص السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هذا ما تحتاجه للقيام بهذه المهمة 

// تنفيذ استعلام SQL للحصول على القيمة القصوى ل SupplierID
string query = "SELECT MAX(SupplierID) FROM TBL_SUPP";
// قم بتنفيذ الاستعلام هنا باستخدام مكتبة الوصول إلى قاعدة البيانات الخاصة بك
// قم بتخزين النتيجة في متغير maxID
int maxID = executeQueryAndGetMaxID(query);

// قم بتعيين القيمة القصوى ل SupplierID + 1 في حقل txtSupplierID
txtSupplierID.Text = (maxID + 1).ToString();

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إما بالإعتماد على SELECT MAX() كالتالي:

SELECT MAX(SUPP_ID) AS MaxID FROM DMM.DB.TBL_SUPP;

ليصبح الكود:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (var command = new SqlCommand("SELECT MAX(SUPP_ID) AS MaxID FROM DMM.DB.TBL_SUPP", connection))
    {
        var reader = command.ExecuteReader();
        if (reader.Read())
        {
            int maxId = reader.GetInt32(0);
            txtSupplierID.Text = maxId.ToString();
        }
    }
}

أو استخدام IDENTITY بالشكل:

CREATE TABLE DMM.DB.TBL_SUPP (
    SUPP_ID INT IDENTITY(1, 1) PRIMARY KEY,
    SUPP_NAME VARCHAR(50) NOT NULL,
    SUPP_ADDRESS VARCHAR(100) NOT NULL
);

ليصبح الكود:

// Insert the new supplier without specifying SUPP_ID
var newSupplier = new DMM.DB.TBL_SUPP
{
    SUPP_NAME = edt_name.Text,
    SUPP_ADDRESS = edt_address.Text
};

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (var command = new SqlCommand("INSERT INTO DMM.DB.TBL_SUPP (SUPP_NAME, SUPP_ADDRESS) VALUES (@name, @address)", connection))
    {
        command.Parameters.AddWithValue("@name", newSupplier.SUPP_NAME);
        command.Parameters.AddWithValue("@address", newSupplier.SUPP_ADDRESS);
        command.ExecuteNonQuery();
    }

    // Get the newly inserted ID
    using (var command = new SqlCommand("SELECT MAX(SUPP_ID) AS MaxID FROM DMM.DB.TBL_SUPP", connection))
    {
        var reader = command.ExecuteReader();
        if (reader.Read())
        {
            int maxId = reader.GetInt32(0);
            txtSupplierID.Text = maxId.ToString();
        }
    }
}

وبالطبع تأكد من أن عمود SUPP_ID هو نوع بيانات INT وله خاصية IDENTITY مضبوطة على (1, 1)، ومن أنك قمت بإضافة جميع البيانات المطلوبة لباقي أعمدة الجدول قبل تنفيذ INSERT.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...