我对创建应用程序有疑问。我正在使用Visual Studio 2012 Ultimate和SQL Server Compact 4.0
我正在编写一个需要未指定数量的数据表的应用程序。对于每个新客户,我想维护一个数据表。
如果我要向应用程序添加名为“Stephanie”的新客户,它应该创建一个名为Stephanie
的数据表,其中包含指定的数据库默认列。
是否可以创建一个自我数据表创建到.sdf
数据库文件的应用程序?
有没有办法做到这一点?
答案 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();