25-01-21, 03:08 PM
السلام عليكم ورحمة الله وبركاتة
كما فى العنوان
عاوز طريقة عمل عداد مستخدمي البرنامج الان
عملت بحث فى الموقع بس الطريقة الى موجوده منفعتش
انا قدرت اعمل فكرة بس محتاجه شوية تعديلات
عملت قاعدة بيانات فيها
MyID
MyUSERS
G-DATE
MyID
MyUSERS
G-DATE
الـ MyUSERS باخد رقم الهارد ويستجل فى القاعدة
وفى الاخر عامل Label يعرض عدد الاجهزه الى فى القاعدة
المشكلة بقي دلوقتي
انا فى الفورم لود عامل التالي
كود :
foreach (string cpu in GetComponents("Win32_DiskDrive", "SerialNumber"))
{
TextBox1.AppendText(cpu);
}
عشان يجيب البيانات داخل ال TextBox1
وبعدين
بيتم تسجيل بيانات الجهاز الجديد فى القاعدة
بالشكل التالي
كود :
if (TextBox1.Text==TextBox1.Text)
{
connection.Open();
string query = "INSERT INTO `VUsers` (`MyUSERS`, `G-DATE`) VALUES ('" + TextBox1.Text + "','" + GetDateAndTime() + "' )";
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
connection.Close();
}
وبعدين يتم عرض البيانات الى فى القاعدة فى lLabel1
بالشكل التالي
كود :
var mySqlCommand = new MySqlCommand("SELECT * FROM `keys` WHERE `key`", connection);
var mySqlDataAdapter = new MySqlDataAdapter(mySqlCommand);
var dataTable = new DataTable();
mySqlDataAdapter.Fill(dataTable);
var dateAndTime = GetDateAndTime();
bool flag2 = dataTable.Rows.Count == 0;
if (flag2)
{
var mySqlCommand2 = new MySqlCommand("SELECT * FROM `VUsers` ORDER BY `VUsers`.`MyID` DESC", connection);
var mySqlDataAdapter2 = new MySqlDataAdapter(mySqlCommand2);
var dataTable2 = new DataTable();
mySqlDataAdapter2.Fill(dataTable2);
txtMac.DataBindings.Clear();
txtMac.DataBindings.Add("Text", dataTable2, "MyUSERS");
txtType.DataBindings.Clear();
txtType.DataBindings.Add("Text", dataTable2, "MyID");
bool flag3 = dataTable2.Rows.Count == 0;
}
دلوقتي انا ناقص لي حجتين
اولا يتم تحديث البيانات فى lLabel1 الى هيعرض عدد الاشخاص الى فتحين اونلاين
ثانيا لما حد يقفل البرنامج يتمسح البيانات بتاعت الشخص ده ويتحدث lLabel1
انا الى قدرت اعمل
كود :
connection.Open();
string query1 = "DELETE FROM `VUsers` WHERE `VUsers`.`MyID` = '" + txtType.Text + "'";
MySqlCommand cmd1 = new MySqlCommand(query1, connection);
cmd1.ExecuteNonQuery();
connection.Close();
اولا بيتم عرض عدد الاجهزه الى اضيفت فى القاعدة حتي لو تم مسح البيانات بيفضل يعرض اخر رقم اضافة يعني لو ضفنا 5 اجهزه وبعدين مسحناهم وضفنا جهاز جديد ال ـ lLabel1 بيعرض 6 مش 1 يعني من الاخر ال lLabel1 مش بيتحدث باخر بيانات موجوده
اتمنا تكون الفكرة واضحه
وانا كتبت الكود عشان لو حد عاوز يستفيد من الكود