将sql数据库表导入datatable

时间:2012-11-15 09:57:30

标签: c# sql sql-server database

我正在使用下面的代码允许我进入我的sql服务器并获取数据并将数据输入到数据表中...但是没有数据被添加到表中并且数据库中的表具有表中的信息。

 // SQL Server Connection Strings
 sqlConnectionString = "Data Source=.;Initial Catalog= " + databaseName + " ;Integrated Security=true";
 queryString = "select * from " + sqlTableName;
 using (var connection = new SqlConnection(sqlConnectionString))
 using (var adapter = new SqlDataAdapter(queryString, connection))
 {
      sqlDataTable.Clear();
      adapter.Fill(sqlDataTable);
 }
 return sqlDataTable;

2 个答案:

答案 0 :(得分:1)

您的代码中可能存在四个错误

1)尝试添加架构名称(例如“dbo”)

queryString = string.Format("select * from [dbo].['{0}']",sqlTableName);

2) 未处理的例外

来自MSDN DataTable.Clear()

  

删除所有表中的所有行。如果表具有任何强制子关系,导致子行被孤立,则会生成异常。

我认为在sqlDataTable.Clear()时你的代码会因try catch阻止而无法处理错误(或其他地方)。所以数据表是空的。

3) 数据库表格为空

4)无所谓但尝试添加connection.Open()

在您展示与此功能相关的完整代码以及如何将此功能(或方法)分配给原始DataTable

之前,我无法再说了什么

答案 1 :(得分:0)

尝试开始事务并在添加数据后提交它。我对C#了解不多,但我在BeginTransaction()对象上看到了SqlConnection方法。