我正在尝试使用 C# 中的 SqlDataAdapter 填充数据表。我对这些对象不是很熟悉,基本上是在使用别人的代码模板来尝试弄清楚它是如何工作的。这是基本形式。
SqlCommand command = new SqlCommand(@"SELECT * FROM tblEmployees WHERE Name = " + firstSSN,connection);
SqlDataAdapter adapter = new SqlDataAdapter(command.CommandText.ToString(), connection.ConnectionString.ToString());
SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(adapter);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
adapter.Fill(table);
这在他们的形式上效果很好。我尝试对我的做同样的事情,但在尝试将 nvarchar 转换为数据类型 int 的列时出错。我查看了 MSDN 并尝试了以下操作: 1) 使用来自 tblEmployees 的适当名称/类型/主键将列添加到 DataTable。2) 将 TableMapping 添加到 DataAdapter,尽管我不是 100% 确定我在这部分的语法是正确的。我愿意:
adapter.TableMappings.Add("work", "dbo.tblEmployees");
为了那个原因。DataTable 被命名为“work”,但我不确定我的语法是否正确,我输入了 SQL Server Management Studio 中显示的表名,但不知道如何测试它是否正确链接。
感谢您的任何帮助,您可以提供。我一直在努力解决这个问题,以至于我即将以一种完全不同的方式接近我的目标并丢弃我所拥有的东西。