我有一个选择基于本地的数据存储(xml文件)或基于SQL Server的选择。 我已经很久以前创建了一个用于我的应用程序的类型化数据集,以将数据保存在xml文件中。C#SQL数据适配器填充现有的键入数据集
现在,我有一个基于服务器的版本和本地版本之间的变化。如果为true,我的应用程序将从SQL Server获取数据。
我不知道,但它似乎在我的现有模式
SqlCommand cmd = new SqlCommand("Select * FROM dbo.Categories WHERE CatUserId = 1", _connection);
cmd.CommandType = CommandType.Text;
_sqlAdapter = new SqlDataAdapter(cmd);
_sqlAdapter.TableMappings.Add("Categories", "dbo.Categories");
_sqlAdapter.Fill(Program.Dataset);
这应该从dbo.Categories填补我的数据类别(在我的本地SQL适配器的Fill方法可以不填数据,键入数据集)。 但它没有。它创建一个名为“Table”的新表。它看起来不能处理现有的模式。
我找不出来。哪里有问题?
btw。当然,我所做的数据库请求并不是那么有用。这只是测试的简化版本...
问题是,我已经有一个现有的数据模式。但这些表的名称不是sql数据库中的表。所以我试图使TableMapping的SQL数据库匹配本地数据集架构。 不要问我,为什么这样。但我认为应该有一个解决方法,而不是重命名服务器上的表。 – 2010-04-22 13:06:00
@Rene - 我并不是说你需要重新命名任何表格。你在我的回答中检查了第二个链接吗?无关紧要的是,SQL数据库中的表名与DataSet中的DataTables具有不同的名称。在我给第二个链接看到图1 – AdaTheDev 2010-04-22 13:17:50
啊,好吧,对不起,你的权利。我必须测试一下。第3条链接很好。我希望这也适用于列名。 这是一种解决方法,但它不能解决我使用TableMapping时遇到的问题。但这是一个解决方案。 我要试一试。 – 2010-04-23 05:56:37