C# 数据表中的数据类型?
所以我一直在开发一个c#应用程序,它从excel文件中读取数据,并使用数据表将其加载到数据网格视图中 然后我想将它插入到一个SQL表中,我提出了一个有趣的问题,是否可以从数据表中获取数据类型,比如它是int、char、time还是date?所以我可以根据它自动生成一个SQL表,然后插入数据 以下是我将数据从excel导入数据表的方式:C# 数据表中的数据类型?,c#,mysql,sql-server,datagridview,C#,Mysql,Sql Server,Datagridview,所以我一直在开发一个c#应用程序,它从excel文件中读取数据,并使用数据表将其加载到数据网格视图中 然后我想将它插入到一个SQL表中,我提出了一个有趣的问题,是否可以从数据表中获取数据类型,比如它是int、char、time还是date?所以我可以根据它自动生成一个SQL表,然后插入数据 以下是我将数据从excel导入数据表的方式: public void importExcel(string path, string sheetName) { var excel = new
public void importExcel(string path, string sheetName) {
var excel = new LinqToExcel.ExcelQueryFactory(path);
excel.ReadOnly = true;
var companies = from a in excel.Worksheet(sheetName) select a;
var columnNames = excel.GetColumnNames(sheetName);
DataTable dtExcelRecords = new DataTable();
foreach (var columnName in columnNames)
{
dtExcelRecords.Columns.Add(columnName);
}
foreach (var row in companies)
{
DataRow dr = dtExcelRecords.NewRow();
foreach (var columnName in columnNames)
{
dr[columnName] = row[columnName];
}
dtExcelRecords.Rows.Add(dr);
}
dataGWseznam.DataSource = dtExcelRecords;
}
可以:
- 确定输入的数据类型(例如,来自excel)——
- 从代码创建SQL服务器表-
yourTableAdapter.Update(yourDataTable);
其中,TableAdapter是在创建数据集时由visual studio创建的,负责向数据库中获取数据。到处都有关于数据集的教程,所以请仔细阅读,看看是否适合您-
最后,我不确定您是否考虑过使用DataTables的更好的替代方案。您可能只是偶然发现了数据表,不知道替代方案是什么。使用DataTables/dataset/DataAdapters将被视为“旧”的做事方式。一种进出数据库的“新”方法是使用微软的实体框架。这本身就是一个巨大的主题,所以我让你们来看看。我使用数据表是因为我在学习过程中,这就是我在谷歌搜索如何做的信息时遇到的问题。我想从代码中创建它,因为我有不同结构的不同excel文件(更多具有不同标题的列,等等),所以我需要符合这些规范的表。这种方法比手工创建每个表更简单。使用数据集没有错。我在学习的时候也用同样的方式开始了我自己的项目,并且遇到了数据集。我的项目和他们配合得很好。然而,既然我使用了实体框架,我就再也不会回去了。太多的好处。不同的excel文件本质上是为了同一件事,但只是细节不同?如果是这样,我将在文件中强制使用一致的头名称。您仍然只需要创建一个数据库表,然后使用较少数据的导入只会将null映射到未提供的字段。