各位大侠好,现在我用C#开发winform程序,已经做出两个按钮功能,第一个读取excel到datagridview,第二个将datagridview里数据插入数据库表B。 现在我想在想在之间加一个匹配操作。因为录入的excel不是完整信息,我需要去数据库中通过excel中的某些信息匹配完整的所有的信息,然后再次显示到datagridview上。然后再插入数据库。 [code=csharp private void btnSelect_Click_1(object sender, EventArgs e)
#region 获取excel方法一 这部分我是先绑定到datagridview,然后再获取excel 的值。
{
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
if (fd.ShowDialog() == DialogResult.OK)
{
string fileName = fd.FileName;
bind(fileName);
}
}
private void bind(string fileName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + fileName + ";" +
"Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
DataSet ds = new DataSet(); try
{
da.Fill(ds);
dt = ds.Tables[0];
this.dataGridView1.DataSource = dt;
}
catch (Exception err)
{
MessageBox.Show("操作失败!" + err.ToString());
}
}
#endregion
][/code]这步是将datagridview中数据插入数据库。 求中间匹配的方法
private void btnOk_Click_1(object sender, EventArgs e) //插入数据库
{
if (dataGridView1.Rows.Count > 0)
{
DataRow dr = null; for (int i = 0; i < dt.Rows.Count; i++)
{
dr = dt.Rows[i];
insertToSql(dr);
}
}数据库ExcelDataGridView
#region 获取excel方法一 这部分我是先绑定到datagridview,然后再获取excel 的值。
{
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
if (fd.ShowDialog() == DialogResult.OK)
{
string fileName = fd.FileName;
bind(fileName);
}
}
private void bind(string fileName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + fileName + ";" +
"Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
DataSet ds = new DataSet(); try
{
da.Fill(ds);
dt = ds.Tables[0];
this.dataGridView1.DataSource = dt;
}
catch (Exception err)
{
MessageBox.Show("操作失败!" + err.ToString());
}
}
#endregion
][/code]这步是将datagridview中数据插入数据库。 求中间匹配的方法
private void btnOk_Click_1(object sender, EventArgs e) //插入数据库
{
if (dataGridView1.Rows.Count > 0)
{
DataRow dr = null; for (int i = 0; i < dt.Rows.Count; i++)
{
dr = dt.Rows[i];
insertToSql(dr);
}
}数据库ExcelDataGridView
是否应该是先将所有EXCEL数据 导入到一张临时表A
然后用这个A表,与你B表做查询匹配后,得到的结果集展现呢????用户在修改完你展现的数据库后,你整体把表格里的数据 打包成一个XML文件
一次提交给数据库的存储过程,在存储过程内部实现具体的保存方法(没有的插入,已有的修改)不是更好?
将这两个DataTable 进行对比分析。