将新数据表创建到SQL数据库

时间:2018-05-25 21:09:00

标签: c# sql vb.net visual-studio-2012 sql-server-ce

我对创建应用程序有疑问。我正在使用Visual Studio 2012 Ultimate和SQL Server Compact 4.0

我正在编写一个需要未指定数量的数据表的应用程序。对于每个新客户,我想维护一个数据表。

如果我要向应用程序添加名为“Stephanie”的新客户,它应该创建一个名为Stephanie的数据表,其中包含指定的数据库默认列。

是否可以创建一个自我数据表创建到.sdf数据库文件的应用程序?

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

你为什么要这样做呢?这不是数据库的工作方式。无论如何,你可以使用查询:

CREATE TABLE Anna(
    Address varchar(255),
    City varchar(255) 
);

有关如何实施查询的详细说明,请参阅此处:Create database file (.sdf) if doesn't exists?

答案 1 :(得分:0)

DataSet可以容纳无限数量的DataTable。

            var ds = new DataSet();

        var dataTable = new DataTable("DataTable");
        var stringCol = new DataColumn("String Column", typeof(string));
        var intCol = new DataColumn("Integer Column", typeof(int));
        var decimalCol = new DataColumn("Decimal Column", typeof(decimal));

        dataTable.Columns.AddRange(new [] {stringCol, intCol, decimalCol});
        var newRow = new object[]
        {
            "String item",
            1,
            100.08m
        };
        dataTable.Rows.Add(newRow);

        ds.Tables.Add(dataTable);

        var row = ds.Tables["DataTable"].Rows[0];
        var stringRowValue = row["String Column"];
        var intRowValue = row["Integer Column"];
        var decimalRowValue = row["Decimal Column"];
        Console.WriteLine($"String value: {stringRowValue}\nInteger value: {intRowValue}\nDecimal Value: {decimalRowValue}");

        var rowArr = new DataRow[ds.Tables["DataTable"].Rows.Count];
        ds.Tables["DataTable"].Rows.CopyTo(rowArr, 0);

        var list = rowArr.ToList();

        foreach (DataRow rowitem in list)
        {
            Console.WriteLine($"\nFrom List: String value: {rowitem["String Column"]}\nInteger value: {rowitem["String Column"]}\nDecimal Value: {rowitem["String Column"]}");
        }

        Console.ReadKey();