私の C# WCF サービスにはSqlDataReader
、クライアントに返したいデータの行を保持する があります。
のすべてを返す方法はSqlDataReader
?
今、私は持っています
if (sqlReader != null)
{
if (sqlReader.HasRows)
{
while (sqlReader.Read())
{
return sqlReader[0].ToString();
}
sqlConn.Close();
}
else
{
return null;
}
}
それは最初の結果だけを返します。現時点では、クラスの戻り値の型は文字列です。配列内の配列のようなものを考えていましたが、方法がわかりませんか?
編集:
たくさんの返信ありがとうございます。サービスが「作成」する SQL データ全体を返すことに関心があります。最初の列 ([0]) がオンラインではありません - これはテスト用です。
しかし、サービスからクライアントにすべてを戻す方法がわかりません。
- 返却方法は?
たとえば。Powershell では、コレクションを作成し、クライアント間で渡す必要がある場合は、そのコレクションにオブジェクトを追加します。
C# と WCF で似たようなものを探しています。
今までありがとうございました:)
編集#2:
とった!:)
新しいクラスを作成しました (例):
public class ObjectNotification
{
public string AlertDescription;
public string Servername;
}
一番上の私の svc.cs ファイルで:
List<ObjectNotification> objlist = new List<ObjectNotification>();
と
if (sqlReader.HasRows)
{
while (sqlReader.Read())
{
ObjectNotification obj = new ObjectNotification();
obj.AlertDescription = sqlReader["AlertDescription"].ToString();
obj.Servername = sqlReader["ComputerName"].ToString();
objlist.Add(obj);
}
}
return objlist;
それはまさに私が欲しかったものを私に与えました:)
よろしくお願いします