PDA

View Full Version : سوال: مقایسه داده های یک لیست باکس با یک جدول



pourya_sh
چهارشنبه 04 اسفند 1400, 19:04 عصر
سلام دوستان.
یک جدول دارم که دارای تعدادی ستون است. در ستون A نام تعدادی دارو و در ستون B نام داروهایی که با ستون A در تداخل است در مقابل همان دارو نوشته شده است. همچنین یک لست باکس در فرم قرار دارد که تعدادی نام دارو توسط کاربر در لیست باکس قرار می گیرد. چه کدی باید پشت یک Button قراربدم وقتی که اعمال شد، داروهای داخل لیست باکس را با جدول مقایسه کند که آیا این داروها با هم تداخل دارند یا که ندارند؟
من برنامه نویسی رو تازه شروع کردم و خیلی مبتدی هستم. اگه کسی میتونه این مشکلو حل کنه ممنون میشم که کمکم کنه.

csharpdoost
چهارشنبه 04 اسفند 1400, 20:19 عصر
سلام . منظورتون اینکه اگر مقادیر این لیست باکس توی ستون B بودند جزو داروهای تداخل نشون داده بشه؟
اگه اینجوری میخوای باشه یه حلقه باید بنویسیدو داخل حلقه تک تک داروهای لیست باکس رو در ستون B جدول جستجو کنید اگه در اون ستون بود جزو داروهای تداخلی میشه.

ROSTAM2
چهارشنبه 04 اسفند 1400, 21:16 عصر
سلام.
در ابتدا باید بدونیم در ستون B چه تعداد دارویی با داروی یک فیلد از ستون A تداخل داره، اگه بیشتر از یکی باشه باید بدونیم نام داروها با چه کاراکتری از هم جدا شدند. تا بتونیم او.نها رو لیست کنیم. اگر یک دارو از ستون B وارد لیست بشه اونوقت چک می کنیم. یعنی آیتم ورودی کاربر رو با فیلدهای ستون B چک می کنیم اکر در ستون B بود پس مقدار فیلد مقابل اون رو در ستون A می گیریم و لیست رو چک می کنیم تا اگه مقدار فیلد ستون A رو تو لیست پیدا کرد مشخص کنه که تداخل دارویی وجود داره.

pourya_sh
چهارشنبه 04 اسفند 1400, 21:18 عصر
اجازه بدید که با یک مثال براتون توضیح بدم. فرض میکنیم که قرص ژلوفن با استامینوفن تداخل داشته باشد. که در این صورن ژلوفن در ستون A و استامینوفن در ستون B و روبه رو هم قرار میگیرد. زمانی که هر دو قرص ژلوفن و استامینوفن در لیست باکس باشد پیامی مبنی بر تداخل داشتن این دو دارو نشان داده شود.

ROSTAM2
چهارشنبه 04 اسفند 1400, 22:22 عصر
private void button1_Click(object sender, EventArgs e)
{
string Value = this.textBox1.Text;
string DifValue = this.textBox1.Text;
bool FindOutExist = false;
foreach (var item in this.listBox3.Items)
{
if (item.ToString() == Value)
{
goto EndLine;
}
}

for (int i = 0; i == this.listBox1.Items.Count - 1; i++)
{
if (this.listBox1.Items[i].ToString() == Value)
{
DifValue = this.listBox2.Items[i].ToString();
FindOutExist = true;
goto FindOut;
}
}
for (int i = 0; i == this.listBox2.Items.Count - 1; i++)
{
if (this.listBox2.Items[i].ToString() == Value)
{
DifValue = this.listBox1.Items[i].ToString();
FindOutExist = true;
goto FindOut;
}
}
FindOut: ;
if (FindOutExist == true)
{
foreach (var item in this.listBox3.Items)
{
if (item.ToString() == DifValue)
{
string Expr = string.Format("داروی {0} با داروی {1} تداخل دارویی دارند.", Value, DifValue);
MessageBox.Show(Expr);
goto EndLine;
}
}
}
this.listBox3.Items.Add(Value);
EndLine: ;
}


153714

pourya_sh
پنج شنبه 05 اسفند 1400, 00:32 صبح
خیلی ممنون برای این کد.
ولی 3 تا لیست باکس ندارم . لیست A و B دو ستون از یک جدول هستن. ابتدا با استفاده از TEXBOX و BUTTON داروها را وارد LISTBOX3 کرده و سپس داروهای موجود در LISTBOX3 را با جدول مقایسه می کنیم. اگر دارو های موجود در LISTBOX3 مربوط به یک ردیف از جدول باشد پیامی مبنی بر تداخل نشان دهد.
ممنون میشم اگه یک نمونه کد واسه این شرایط برای من قرار بدید.

ROSTAM2
پنج شنبه 05 اسفند 1400, 02:47 صبح
کد اتصال و فراخوانی دیتابیس و جدولتون رو ازسال کنید. از چه نوع دیتابیس و روشی برای اتصال استفاده می کنید؟!

pourya_sh
سه شنبه 10 اسفند 1400, 22:04 عصر
کد اتصال و فراخوانی دیتابیس و جدولتون رو ازسال کنید. از چه نوع دیتابیس و روشی برای اتصال استفاده می کنید؟!
با استفاده از کد زیر جدول را فراخوانی و داروهای انتخابی را به لیست باکس فرستادم

153725

Mahmoud.Afrad
پنج شنبه 12 اسفند 1400, 15:58 عصر
یک دیتاتیبل برای نگهداری داده های لیست باکس نیاز دارید.
داروهای انتخابی کاربر رو به دیتاتیبل و اون رو به لیست باکس متصل کنید.
یک حلقه تودرتو نیاز دارید. اقلام دارو لیست باکس را پیمایش کنید(ستون A). حلقه داخلی هم ستون دوم. مقایسه کنید دارویی هست که هم در ستون اول و هم در ستون دوم باشه. اون سطر تداخل رو به شما میده.

pourya_sh
جمعه 13 اسفند 1400, 19:58 عصر
یک دیتاتیبل برای نگهداری داده های لیست باکس نیاز دارید.
داروهای انتخابی کاربر رو به دیتاتیبل و اون رو به لیست باکس متصل کنید.
یک حلقه تودرتو نیاز دارید. اقلام دارو لیست باکس را پیمایش کنید(ستون A). حلقه داخلی هم ستون دوم. مقایسه کنید دارویی هست که هم در ستون اول و هم در ستون دوم باشه. اون سطر تداخل رو به شما میده.
اگه امکانش هست یک نمونه کد برام قرار بده
ممنون