C# 从数据表添加列名
所以我有一段代码,可以将数据表上传到数据库表C# 从数据表添加列名,c#,mysql,C#,Mysql,所以我有一段代码,可以将数据表上传到数据库表 public bool TableCreator(DataTable dt, string tableName) { using (SqlConnection con = new SqlConnection(connectionString)) { try { /*#### Method needs to include adding apropreate amount of
public bool TableCreator(DataTable dt, string tableName)
{
using (SqlConnection con = new SqlConnection(connectionString))
{
try
{
/*#### Method needs to include adding apropreate amount of colunm headers ####*/
string colunmHeader = " (TestColunmHeader varchar(50));";
//Opens connection to the DataBase
con.Open();
//Creates a new Table in the Database
using (SqlCommand command = new SqlCommand("CREATE TABLE " + tableName + colunmHeader, con))
command.ExecuteNonQuery();
UploadConnection(dt, tableName);
return true;
}
catch (Exception)
{
return false;
}
}
}
如果我对列名和数量进行“硬编码”,这将非常有用,但我需要在数据库中创建的新表具有与dataTable相同的列数
我已经尝试了一些方法,但我只是缺乏这样做的知识。如果我理解正确,您所要做的就是在sql数据库中创建一个表,其中包含一个DataTable给定的X个列 因此,我想您应该知道的第一件事是如何在存储列的上下文中定义。快速查看文档会发现您有一处房产。在该页面中,您可以看到一个示例,说明如何迭代数据表中的每一列 第二个问题是如何创建一个SQL命令来创建一个包含列的表(您似乎已经了解了这些列的基本知识)
因此,只需构建一个包含所有列定义的colunmHeader字符串。您甚至可以使用该文档示例作为构建所述字符串的小指南,这样您的columnHeader将类似于“(TestColunmHeader varchar(50)、TestColunmHeader1 varchar(50)、TestColunmHeader2 varchar(50))”等等,它是基于我需要的应用程序中的数据表在sql数据表中创建列名。这就是它被否决的原因吗?它能被构建成一种动态的吗?它将从一个数据表变为另一个数据表它肯定可以被构建,这样它将动态创建不同列大小的不同sql数据表,因为对于您的函数“TableCreator(DataTable dt,string tableName)”,您提供给函数的每个dt和tableName都是定义良好且唯一的。啊,太酷了,那么,我把这个作为正确答案。非常感谢。