c# - 从 C# 数据表创建 SQL Server 表

标签 c# sql-server ado.net datatable

我有一个 DataTable,我使用 C# 手动创建并加载了数据。

在 SQL Server 2005 中创建使用 DataTable 中的列和数据的表的最有效方法是什么?

最佳答案

public static string CreateTABLE(string tableName, DataTable table)
{
    string sqlsc;
    sqlsc = "CREATE TABLE " + tableName + "(";
    for (int i = 0; i < table.Columns.Count; i++)
    {
        sqlsc += "\n [" + table.Columns[i].ColumnName + "] ";
        string columnType = table.Columns[i].DataType.ToString();
        switch (columnType)
        {
            case "System.Int32":
                sqlsc += " int ";
                break;
            case "System.Int64":
                sqlsc += " bigint ";
                break;
            case "System.Int16":
                sqlsc += " smallint";
                break;
            case "System.Byte":
                sqlsc += " tinyint";
                break;
            case "System.Decimal":
                sqlsc += " decimal ";
                break;
            case "System.DateTime":
                sqlsc += " datetime ";
                break;
            case "System.String":
            default:
                sqlsc += string.Format(" nvarchar({0}) ", table.Columns[i].MaxLength == -1 ? "max" : table.Columns[i].MaxLength.ToString());
                break;
        }
        if (table.Columns[i].AutoIncrement)
            sqlsc += " IDENTITY(" + table.Columns[i].AutoIncrementSeed.ToString() + "," + table.Columns[i].AutoIncrementStep.ToString() + ") ";
        if (!table.Columns[i].AllowDBNull)
            sqlsc += " NOT NULL ";
        sqlsc += ",";
    }
    return sqlsc.Substring(0,sqlsc.Length-1) + "\n)";
}

关于c# - 从 C# 数据表创建 SQL Server 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1348712/

相关文章:

sql-server - 存储过程返回 varchar

sql-server - 如何在全文搜索中为不同列分配权重?

mysql - 使用 SSIS 将 SQL Server 表移动到特定的 MySQL 文件夹

entity-framework - 使用 Entity Framework 的报告服务

ado.net - 我可以多次将相同的 DataRow 添加到 DataTable 中吗?

c# - WCF 服务故障处理 WS-Discovery Resolve 消息

c# - 当前 SDK 版本无法同时使用多个 CloudSpatialAnchorWatcher

C# 我可以使用部分类来使代码更具可读性吗

c# - 在 MVC4 中注册启动脚本

c# - DB Transaction : can we block just a record, 不是整个表?