根据datatable建立相同结构的sql server表

时间:2022-04-09 16:22:28
已有一个datatable,如何建立相同结构的数据库表呢?

列比较多

8 个解决方案

#1


就按照一般写吧:
sqlStr="create table tablename (字段1 类型1,字段2 类型2,...,字段n 类型n)";
cmd.ExecuteNonQuery();

#2


引用 1 楼 dalmeeme 的回复:
就按照一般写吧:
sqlStr="create table tablename (字段1 类型1,字段2 类型2,...,字段n 类型n)";
cmd.ExecuteNonQuery();

+1

#3


sql = "CREATE TABLE myTable" +
"(ID INTEGER CONSTRAINT PKeyMyId PRIMARY KEY," +
"姓名 NVARCHAR(10), 地址 NVARCHAR(500), 电话 nvarchar(20))";

cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();

//就是一执行语名....ID是主键...
姓名  地址   电话  就是你的datatable列名,,..你自己去拼凑成字符串就行了...

#4


上千列啊。。。

我这样写可以吗(先不考虑C#和数据库中数据类型的区别,只看逻辑和格式):
                        for (int i =0; i <table .Columns .Count ; i++)
                        {
                               sqlcolumn += table .Columns [i].ColumnName +" "+table .Columns [i].DataType +" not null,";
                        }
                        string strSQL = "CREATE TABLE  " + table .TableName   + "(" + sqlcolumn +" primary key(ID));";
                        SqlCommand comm = new SqlCommand(strSQL, conn);
                        comm.ExecuteNonQuery();

#5


顶一顶。。。

如果有36万列的话,SQL SERVER数据库是否能存的下?

#6


根据表名获取表结构
public static DataTable GetTableSchema(string tablename)
{   
    dt = new DatabaseFacade().GetTableSchema(tablename);
    return dt;
}

#7


creat table newdatatable as select * from datatable where 1=0

#8


引用 6 楼 change_l 的回复:
根据表名获取表结构
public static DataTable GetTableSchema(string tablename)
{  
  dt = new DatabaseFacade().GetTableSchema(tablename);
  return dt;
}


不懂,请明示。DatabaseFacade是什么?

#1


就按照一般写吧:
sqlStr="create table tablename (字段1 类型1,字段2 类型2,...,字段n 类型n)";
cmd.ExecuteNonQuery();

#2


引用 1 楼 dalmeeme 的回复:
就按照一般写吧:
sqlStr="create table tablename (字段1 类型1,字段2 类型2,...,字段n 类型n)";
cmd.ExecuteNonQuery();

+1

#3


sql = "CREATE TABLE myTable" +
"(ID INTEGER CONSTRAINT PKeyMyId PRIMARY KEY," +
"姓名 NVARCHAR(10), 地址 NVARCHAR(500), 电话 nvarchar(20))";

cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();

//就是一执行语名....ID是主键...
姓名  地址   电话  就是你的datatable列名,,..你自己去拼凑成字符串就行了...

#4


上千列啊。。。

我这样写可以吗(先不考虑C#和数据库中数据类型的区别,只看逻辑和格式):
                        for (int i =0; i <table .Columns .Count ; i++)
                        {
                               sqlcolumn += table .Columns [i].ColumnName +" "+table .Columns [i].DataType +" not null,";
                        }
                        string strSQL = "CREATE TABLE  " + table .TableName   + "(" + sqlcolumn +" primary key(ID));";
                        SqlCommand comm = new SqlCommand(strSQL, conn);
                        comm.ExecuteNonQuery();

#5


顶一顶。。。

如果有36万列的话,SQL SERVER数据库是否能存的下?

#6


根据表名获取表结构
public static DataTable GetTableSchema(string tablename)
{   
    dt = new DatabaseFacade().GetTableSchema(tablename);
    return dt;
}

#7


creat table newdatatable as select * from datatable where 1=0

#8


引用 6 楼 change_l 的回复:
根据表名获取表结构
public static DataTable GetTableSchema(string tablename)
{  
  dt = new DatabaseFacade().GetTableSchema(tablename);
  return dt;
}


不懂,请明示。DatabaseFacade是什么?