所以我有这个代码块将数据表上传到数据库表。
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;
}
}
}
如果我和#34;硬代码"列名和数量,但我需要在数据库中创建的新表具有与dataTable相同的列数。
我尝试了一些事情,但我只是缺乏这方面的知识。
答案 0 :(得分:0)
如果我理解正确,你要做的就是在sql数据库中创建一个包含DataTable给出的X列数量的表。
所以我想你应该知道的第一件事是如何在它如何存储列的上下文中定义DataTables。快速查看文档将显示您拥有column属性。在该页面中,您可以看到如何通过DataTable中的每一列进行迭代的示例。
第二个是知道如何创建一个SQL命令来创建一个包含列的表(您似乎已经了解了它的基础知识)。
因此,应该只是构建一个 colunmHeader 字符串,其中包含每列的所有定义。您甚至可以使用该文档示例作为构建所述字符串的小指南,这样您的columnHeader将看起来像"(TestColunmHeader varchar(50),TestColunmHeader1 varchar(50),TestColunmHeader2 varchar(50))"等等。