所以我有一个使用MSVS 2010的GUI,我正在创建许多表单。
我的 main 表单打开我的文本文件“database”,并将正确的数据汇总到另一个打开的文件中。如果打开的文件中的数据与数据库文件中的数据不匹配,那么我想将该数据添加到数据库文件中。
话虽如此,当单击按钮“dataBaseSaveButton_Click”时,将弹出一个新表单,其中包含文本框: 计算机,名称,PTP名称,CMP名称,T宽度,进纸器间距< / EM> 即可。大多数字段将自动填充,而其他字段将由用户输入。
同样在表格中还有另一个“保存”按钮。现在,在此表单上,保存按钮实际上将获取文本框中的数据并打开正确的文件(数据库文件)并以特定格式保存(更新数据库)。
“保存到数据库”表单如下所示:
主表单中的代码如下所示(单击按钮时):
private void dataBaseSaveButton_Click(object sender, EventArgs e)
{
int unknownCP4Counter = theCP4UnknownList.Distinct().Count();
foreach (var line in theCP4UnknownList.Distinct())
{
var splitUnknowns = line.Split(' ');
KTS_Save saveForm = new KTS_Save("CP4", splitUnknowns[0], splitUnknowns[1], splitUnknowns[3], splitUnknowns[4], openDataBase2File.FileName, unknownCP4Counter);
saveForm.ShowDialog();
unknownCP4Counter--;
}
}
保存到数据库表单的代码如下所示:
private string _Machine;
private string _Name;
private string _PtpName;
private string _TapeWidth;
private string _FeederPitch;
private string _DataBaseFileName;
public KTS_Save()
{
InitializeComponent();
}
public KTS_Save(string Machine, string Name, string PtpName, string TapeWidth, string FeederPitch, string DBFileName, int Counter)
{
InitializeComponent();
_Machine = Machine;
_Name = Name;
_PtpName = PtpName;
_TapeWidth = TapeWidth;
_FeederPitch = FeederPitch;
_DataBaseFileName = DBFileName;
machineTextBox.Text = _Machine;
nameTextBox.Text = _Name;
ptpNameTextBox.Text = _PtpName;
tapeWidthTextBox.Text = _TapeWidth;
feederPitchTextBox.Text = _FeederPitch;
counterLabel.Text = Counter.ToString();
}
private void dataBaseSaveButton_Click(object sender, EventArgs e)
{
//This is where I need help.
}
我需要帮助的是将所有文本框数据打印到已存在的文件中。
我知道这可能不是最有效的做事方式,所以如果您有任何建议请告诉我! :)
(哦,是的..)
我希望程序 运行 像这样(或类似):
答案 0 :(得分:1)
您可以“技术上”插入文件,但基本上每次插入内容时都必须复制整个文件。更确切地说:它不是真正的插入,因为file system does not support inserts。有multiple examples online,但我实际上建议您避免整个崩溃,并使用嵌入式数据库或XML文件。
我强烈建议您使用SQLite数据库并利用ADO .NET实体框架,但如果这对您来说很麻烦,那么您可以执行简单的XML文件。
以下是一些例子:
祝你好运。