25-01-25, 10:52 AM
وعليكم السلام ورحمة الله وبركاته!
لحل هذا الأمر، يمكنك استخدام SQL لاستخراج أعلى قيمة من حقل الباركود الخاص بالنصوص (BarCode) بناءً على الكود الموجود في الحقل الآخر (Code). ثم يمكنك توليد الباركود الجديد بإضافة اللاحقة الجديدة (مثل -3).
لحل هذا الأمر، يمكنك استخدام SQL لاستخراج أعلى قيمة من حقل الباركود الخاص بالنصوص (BarCode) بناءً على الكود الموجود في الحقل الآخر (Code). ثم يمكنك توليد الباركود الجديد بإضافة اللاحقة الجديدة (مثل -3).
PHP كود :
using System;
using System.Data.SqlClient;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void GenerateBarCode(string inputCode)
{
string connectionString = "YourConnectionStringHere"; // استبدلها بسلسلة الاتصال الخاصة بك
string newBarCode = "";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = @"
SELECT TOP 1 BarCode
FROM YourTable
WHERE Code = @Code
ORDER BY CAST(SUBSTRING(BarCode, CHARINDEX('-', BarCode) + 1, LEN(BarCode)) AS INT) DESC;
";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Code", inputCode);
object result = command.ExecuteScalar();
if (result != null)
{
string lastBarCode = result.ToString();
int lastNumber = int.Parse(lastBarCode.Split('-')[1]); // استخراج الرقم الأخير
newBarCode = $"{inputCode}-{lastNumber + 1}"; // إنشاء الباركود الجديد
}
else
{
newBarCode = $"{inputCode}-1"; // إذا لم يكن هناك أي باركود سابق
}
}
}
// عرض الباركود الجديد في TextBox
TxtBarCode.Text = newBarCode;
}
private void BtnGenerate_Click(object sender, EventArgs e)
{
string inputCode = TxtInputCode.Text; // قيمة الكود المدخل من TextBox
if (!string.IsNullOrWhiteSpace(inputCode))
{
GenerateBarCode(inputCode);
}
else
{
MessageBox.Show("الرجاء إدخال الكود!", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
