按钮单击时将条目保存到accdb

时间:2013-12-10 08:41:33

标签: c# winforms

我目前正在使用两种形式在C#中使用WinForms应用程序:

Form1中

enter image description here

表格2

enter image description here

当用户点击保存按钮时,如何将内容保存到我的数据源,例如

public Form2(string cell1, string cell2)
{
     InitializeComponent();
     textBox1.Text = cell1;
     textBox2.Text = cell2;
}

private void button1_Click(object sender, EventArgs e)
{
     // save to access database when user clicks on the save button
}

即。运行SQL查询,如下所示

UPDATE Table1
SET ID=value1,Team=value2,...
WHERE ID=value3;

其中:

  
      
  • value1是新ID
  •   
  • value2是新团队
  •   
  • value3是旧ID(从公共Form2中提取)
  •   

在value1 / value3不匹配的情况下 - 应在Access数据库中创建一个新条目(即INSERT QUERY而不是UPDATE查询)。

非常感谢有关更新/将新行插入Access数据库的帮助。

2 个答案:

答案 0 :(得分:1)

如果您使用OleDB访问mdb,那么类似于:

            using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=blablabla"))
            {
                connection.Open();
                // prepare command
                OleDbCommand command = new OleDbCommand("INSERT INTO Table1 (id, team, old) VALUES (?, ?, ?)", connection);
                command.Parameters.Add("id", typeID).Value = newID;
                command.Parameters.Add("team", typeTeam).Value = team;
                command.Parameters.Add("old", typeOld).Value = oldID;
                // add new record
                command.ExecuteNonQuery();

此处您必须已有newIDteamoldID值。我没有指定类型(typeID,typeTeam和typeOld)。

要获取oldID值,您可以将其作为参数传递给编辑表单,如果这是一个问题。如果有必要,我会改进我的答案,只说不清楚。

答案 1 :(得分:-2)

您可以使用静态变量概念。 借助静态变量,您可以将值从一个表单传递到另一个表单。因此,您可以传递两个字符串,然后可以使用查询进行插入或更新。