我想要发生的是,在我的Windows窗体中,我有一个接受数字或从前一个表单中获取数字的文本框..如果文本框检测到它不为空,我的数据库中的值为0,将自动增加到1。
例如,如果文本框检测到用户输入了数字" 3"则访问中的字段值已经为2。然后在ms访问中,它将成为5.我怎么能这样做?请帮我。以下是我的代码。
if (!string.IsNullOrEmpty(pv1))
{
string newline = Environment.NewLine;
textBox1.Text += newline + Convert.ToString(pv1);
textBox2.Text += newline + "F(x) Lighstick 1";
textBox3.Text += newline + Convert.ToString(pv7);
textBox5.Text = Convert.ToString(pv15);
textBox4.Text = Convert.ToString(pv14);
textBox6.Text = Convert.ToString(pv16);
}
在我的数据库中,字段aqty和atotal是0.因此,当textbox1.text(pv1)的值为3且texbox3.text(pv7)的值为5时,则aqty和atotal将变为3和5。
答案 0 :(得分:2)
假设您已经知道如何从Ms Access数据库获取数据,您可以采用相同的方式进行更新。只需将SQL SELECT
语句更改为UPDATE
语句,正确添加参数,然后执行SQL更新命令。例如:
conn.Open();
string query = "UPDATE [table_name] SET [column_name] = [column_name] + ? WHERE id = ?";
var accessUpdateCommand = new OleDbCommand(query, conn);
accessUpdateCommand.Parameters.AddWithValue("new_value", textBoxNewValue.Text);
accessUpdateCommand.Parameters.AddWithValue("id", 123);
accessUpdateCommand.ExecuteNonQuery();
conn.Close();
上面的SQL更新语句会将column_name
的值更新为(当前值+新值)匹配WHERE
子句(不带WHERE
子句的特定行,表中的所有行将添加相同的新值)。