第一步,根据输入的表名,得到表的结构信息
第二步,生成create table sql语句
第三步,执行

解决方案 »

  1.   

    select * into table2 from table1 where 这里是一个返回空记录集合的条件
      

  2.   

    ds.Tables[0].Columns.Count;
    ds.Tables[0].Columns[i].AllowDBNull;
    ds.Tables[0].Columns[i].AutoIncrement;
    ds.Tables[0].Columns[i].ColumnName;
    ds.Tables[0].Columns[i].DataType;
    ds.Tables[0].Columns[i].DefaultValue;
    之类的信息
      

  3.   

    基本思路如下,
    1、读出所有表
    2、逐个读取所有表结构,如楼上
    3、create table语句写表。
      

  4.   

    Clone: 受 .NET Framework 精简版的支持。 克隆 DataTable 的结构,包括所有 DataTable 架构和约束。
     
    Copy: 复制该 DataTable 的结构和数据 
      

  5.   

    DataTable cloneTable;
        cloneTable = myDataTable.Clone();
      

  6.   

    楼上的说的对,先返回一个已知表的空结构,再根据已知表的空结构的每一字段的信息,动态生成创建表的sql语句,如果是要转换很多表的话,可以专门写成一个函数。我以前做过从sql导出到Access就是这样做的。private string ReturnCreateTabelString(DataSet MyDs,string TableName)
    {
    string  str="";
                        string  DataType="";
    str="Create Table "+TableName +"(";
    if(MyDs!=null)
    {
                        
    for(int i=1;i<MyDs.Tables[0].Columns.Count;i++)
    {

    DataType=Convert.ToString(MyDs.Tables[0].Columns[i].DataType);
    if((DataType=="System.Int32")||(DataType=="System.Decimal")||(DataType=="System.Byte")||(DataType=="System.Double")||(DataType=="System.Int16"))
    str=str+MyDs.Tables[0].Columns[i].ColumnName+" "+"Double"+",";
    if(DataType=="System.String")
    str=str+MyDs.Tables[0].Columns[i].ColumnName+" "+"String"+",";
    if(DataType=="System.DateTime")
    str=str+MyDs.Tables[0].Columns[i].ColumnName+" "+"DateTime"+",";
    if(i==MyDs.Tables[0].Columns.Count-1)
    str=str.Remove(str.Length-1,1)+")";
    }
                        
    return str;
    }
                                else
    return str="";
    }
    }
    }
      

  7.   

    如果只是输入表名的话可以这样做。
    首先从sqlserver的数据库中找到这个表(通过查询系统表的方法)。
    select name from sysobjects where xtype='U' and name='[tablename]'
    然后查找这个表的任意数据fill入数据集并克隆:
    select top 1 * from [talblename];
    ....
    //克隆(在上面有)
    .....
    //这样就可以取得这个表的所有结构和约束了。
    //将新表加入数据集并更新数据库
    .....
    //完成。
      

  8.   

    select * into table2 from table1 where false