Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为SQL数据库创建新的数据表_C#_Sql_Vb.net_Visual Studio 2012_Sql Server Ce - Fatal编程技术网

C# 为SQL数据库创建新的数据表

C# 为SQL数据库创建新的数据表,c#,sql,vb.net,visual-studio-2012,sql-server-ce,C#,Sql,Vb.net,Visual Studio 2012,Sql Server Ce,我有一个关于创建应用程序的问题。我正在使用Visual Studio 2012 Ultimate和SQL Server Compact 4.0 我目前正在编写一个应用程序,它需要未指定数量的数据表。对于每个新客户,我希望维护一个数据表 如果我将名为“Stephanie”的新客户添加到应用程序中,它应该创建一个名为Stephanie的数据表,并将指定的默认列添加到数据库中 是否可以创建一个应用程序,将自数据表创建为.sdf数据库文件 有什么可能的方法可以做到这一点吗?首先你为什么要这样做?这不是数

我有一个关于创建应用程序的问题。我正在使用Visual Studio 2012 Ultimate和SQL Server Compact 4.0

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

如果我将名为“Stephanie”的新客户添加到应用程序中,它应该创建一个名为
Stephanie
的数据表,并将指定的默认列添加到数据库中

是否可以创建一个应用程序,将自数据表创建为
.sdf
数据库文件


有什么可能的方法可以做到这一点吗?

首先你为什么要这样做?这不是数据库应该如何工作的。不管怎么说,查询就在这里:

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

有关如何实现查询的详细说明,请参阅此处:

数据集可以容纳无限数量的数据表

            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();

当您说数据表时,您指的是数据库中的表还是驻留在内存中的ADO.net数据表?您不会在数据库中为每个客户创建表。您有一个客户表,并为每个客户添加记录。否。当您添加客户时,您应该将行添加到现有表中。这可能不是一个好的设计。