1

以下のコードを使用して、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;
4

2 に答える 2

1

コードで 4 つのエラーが発生する可能性があります

1)スキーマ名を追加してみてください(例: "dbo")

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

2) 未処理の例外

MSDN からDataTable.Clear()

すべてのテーブルのすべての行が削除されます。子行が孤立する原因となる強制的な子リレーションがテーブルにある場合、例外が生成されます。

あなたのコードの時点で、ブロックsqlDataTable.Clear()で処理していないエラー (または他の場所) が発生していると思います。try catchしたがって、データテーブルは空です。

3) データベース テーブルが空です

4)関係ありませんが、追加してみてくださいconnection.Open()

この関数に関連する完全なコードと、この関数(またはメソッド)を元の関数にどのように割り当てているかを示すまで、これ以上何も言えませんDataTable

于 2012-11-15T10:00:26.870 に答える
0

データを追加した後、トランザクションを開始してコミットしてみてください。C# についてはよくわかりませんがBeginTransaction()、オブジェクトにメソッドが表示されSqlConnectionます。

于 2012-11-15T10:33:38.943 に答える