将值动态添加到 MS 访问数据库并使用变量检索它们
Posted
技术标签:
【中文标题】将值动态添加到 MS 访问数据库并使用变量检索它们【英文标题】:Dynamically Add values to MS access database and retrieve them using variables 【发布时间】:2018-05-19 04:31:41 【问题描述】:我有一个 MS 访问数据库,其中包含一个名为 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
列第二行的值。
注意:可以通过在将所有值插入数据库之前计算所有值来解决这些问题。通过这样做,编译时间可以减少一半。由于编译器不必插入值并再次检索它们执行计算。
第二个注意:我发现我需要一个连接字符串来连接到数据库。我希望版主关闭这个话题。
【问题讨论】:
这段代码有什么问题?该代码没有任何与 Ms-Access 数据库相关的内容。 我想将此代码的变量(upperLimit[],range[]) 分别连接到数据库列(upperLimit, perUnitCost)。但我不知道该怎么做? @ChetanRanpariya 而且您不知道如何编写代码来连接到 MS-Access 数据库并从表中查询值? 我知道如何手动连接数据库。但我不知道如何将这些值动态存储到变量中,以便使用上面给出的代码中的值。 How to query MS Access database with C# application?的可能重复 【参考方案1】:这是我的问题的解决方法。
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");
【讨论】:
以上是关于将值动态添加到 MS 访问数据库并使用变量检索它们的主要内容,如果未能解决你的问题,请参考以下文章
Flash AS3 动态添加子项。命名它们并调用每个分开的问题