我目前正在使用两种形式在C#中使用WinForms应用程序:
Form1中
表格2
当用户点击保存按钮时,如何将内容保存到我的数据源,例如
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数据库的帮助。
答案 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();
此处您必须已有newID
,team
和oldID
值。我没有指定类型(typeID,typeTeam和typeOld)。
要获取oldID
值,您可以将其作为参数传递给编辑表单,如果这是一个问题。如果有必要,我会改进我的答案,只说不清楚。
答案 1 :(得分:-2)
您可以使用静态变量概念。 借助静态变量,您可以将值从一个表单传递到另一个表单。因此,您可以传递两个字符串,然后可以使用查询进行插入或更新。