我正在开发一个离线的C#应用程序,该程序将从电子表格中导入数据并将其存储在我创建的SQL数据库中(项目内部)。通过一些研究,我已经能够使用一些代码将静态表导入到与工作表列布局完全相同的数据库中。
我希望特定列根据名称进入其正确的表格,这样我就可以正确设计数据库,而不仅仅是拥有一个大表来存储所有内容。
下面是我正在使用的代码,将几个静态字段导入一个表格中,我想能够将导入的数据分割成多个表格。
最佳方法是什么?
我希望特定列根据名称进入其正确的表格,这样我就可以正确设计数据库,而不仅仅是拥有一个大表来存储所有内容。
下面是我正在使用的代码,将几个静态字段导入一个表格中,我想能够将导入的数据分割成多个表格。
最佳方法是什么?
public partial class Form1 : Form
{
string strConnection = ConfigurationManager.ConnectionStrings
["Test3.Properties.Settings.Test3ConnectionString"].ConnectionString;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//Create connection string to Excel work book
string excelConnectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Test.xls;
Extended Properties=""Excel 8.0;HDR=YES;""";
//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand
("Select [Failure_ID], [Failure_Name], [Failure_Date], [File_Name], [Report_Name], [Report_Description], [Error] from [Failures$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
sqlBulk.DestinationTableName = "Failures";
sqlBulk.WriteToServer(dReader);
}