Динамически добавлять значения в базу данных MS access и извлекать их, используя переменные - PullRequest
0 голосов
/ 19 мая 2018

У меня есть база данных MS Access с таблицей tarriff_table.В этой таблице у меня есть два столбца upperLimit & perUnitCost.У меня есть форма для вставки этих значений.Теперь я хочу использовать эти значения для расчета в коде.У меня есть структура кода, но я не могу связать значения базы данных с переменными, которые я использовал.

Вот код.

double demandCharge, VAT,upperLimit1, upperLimit2; 
double perUnitCost1, perUnitCost2;
private void button1_Click(object sender, EventArgs e)
{
 double con_unit = 0, bill = 0, mcon_unit = 0, totalbill = 0;
 con_unit = double.Parse(textBox1.Text);
 mcon_unit = double.Parse(textBox2.Text);
 if (con_unit < upperLimit1)
 {
  bill = con_unit * perUnitCost1;
 }
 else if (con_unit < upperLimit2)
 {
  bill = (upperLimit1 * perUnitCost1) + ((con_unit - upperLimit1) * perUnitCost2);
 }
 else bill = (upperLimit1 * perUnitCost1) + ((upperLimit2 - upperLimit1) * perUnitCost2);

 totalbill = Math.Ceiling((((((bill + demandCharge) * VAT) 
           + (bill + demandCharge)) / (con_unit)) * (mcon_unit)));
 textBox3.Text = Convert.ToString(totalbill);
}

Это часть кода.Но я предполагаю, что это может породить проблему, с которой я сталкиваюсь.Здесь я хочу подключить столбцы upperLimit к переменной upperLimit и столбец perUnitCost к переменной perUnitCost.Как я могу это сделать?

Я хочу, чтобы значение этих переменных (upperLimit1, upperLimit2, perUnitCost1, PerUnitCost2) было извлечено из базы данных.

Важное примечание: В разделе кода perUnitCost2 означает значение второй строки столбца perUnitCost в базе данных.

Примечание: Возможен обходной путь, вычисляющий все значения перед их вставкой в ​​базу данных.делая это время компиляции может быть уменьшено до половины.Поскольку компилятору не нужно вставлять значения и снова извлекать их, выполните вычисления.

2nd Примечание: Я понял, что мне нужна строка подключения для подключения к базе данных.Я хотел бы, чтобы модераторы закрыли тему.

1 Ответ

0 голосов
/ 23 июня 2018

Вот обход моего вопроса.

private void btnsave_Click(object sender, EventArgs e)
    {
        string path = Path.Combine(Environment.CurrentDirectory, "Tenant info.mdb");
        connect.ConnectionString = @"Provider=Microsoft.JET.OLEDB.4.0;Data Source="+ path;


        double con_unit = 0, bill = 0, presr = 0, prevr = 0, mcon_unit = 0, totalbill = 0;

        presr = double.Parse(textbox5.Text);
        prevr = double.Parse(textbox37.Text);
        con_unit = double.Parse(textbox38.Text);
        mcon_unit = ((presr) - (prevr));
        textBox2.Text = Convert.ToString(mcon_unit);
        if (con_unit < 75)
        {
            bill = con_unit * 3.8;
        }
        else if (con_unit < 200)
        {
            bill = (75 * 3.8) + ((con_unit - 75) * 5.14);
        }
        else if (con_unit < 300)
        {
            bill = (75 * 3.8) + (125 * 5.14) + ((con_unit - 200) * 5.36);
        }
        else if (con_unit < 400)
        {
            bill = (75 * 3.8) + (125 * 5.14) + (100 * 5.36) + ((con_unit - 300) * 5.63);
        }
        else if (con_unit < 600)
        {
            bill = (75 * 3.8) + (125 * 5.14) + (100 * 5.36) + (100 * 5.63) + ((con_unit - 400) * 8.70);
        }
        else if (con_unit < 600)
        {
            bill = (75 * 3.8) + (125 * 5.14) + (100 * 5.36) + (100 * 5.63) + (200 * 8.70) + (con_unit * 9.98);
        }
        else bill = (75 * 3.8) + (125 * 5.14) + (100 * 5.36) + (100 * 5.63) + (200 * 8.70) + ((con_unit - 600) * 9.98);

        totalbill = Math.Ceiling((((((bill + 70) * .05) + (bill + 70)) / (con_unit)) * (mcon_unit)));
        textBox3.Text = Convert.ToString(totalbill);

        tenantBillDataBindingSource.EndEdit();
        tenantBillDataTableAdapter.Update(this.tenant_InfoDataSet.TenantBillData);
        MessageBox.Show("Data Added to Database. Please Reopen the Form to Insert New Entry");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...