SQL Server 2012データベースがあり、selectステートメントを使用してクエリを実行し、すべての結果を任意の種類のコレクションタイプに配置します。たとえば、次のようになります。リスト
問題は、SQL Queeringの人たちをやったことがなく、本当にあなたの助けが必要なことです。
「yt2016」という名前のテーブルのトークン列で値を検索する必要があります...事前に感謝するコードを書くことで私を助けることができます。
SQL Server 2012データベースがあり、selectステートメントを使用してクエリを実行し、すべての結果を任意の種類のコレクションタイプに配置します。たとえば、次のようになります。リスト
問題は、SQL Queeringの人たちをやったことがなく、本当にあなたの助けが必要なことです。
「yt2016」という名前のテーブルのトークン列で値を検索する必要があります...事前に感謝するコードを書くことで私を助けることができます。
public class Foo
{
// some properties
public int Prop1 { get; set; }
public string Prop2 { get; set; }
// ...
}
public static IEnumerable<Foo> GetAllFoos(String columnFilter = null)
{
const string sql = @"SELECT
Columns ...
FROM
dbo.TableFoo
WHERE
@SomeColumn IS NULL OR SomeColumn = @SomeColumn
ORDER BY
OrderColumn1 ASC, OrderColumn2 DESC";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(sql, connection))
{
if (columnFilter == null)
cmd.Parameters.AddWithValue("@SomeColumn", DBNull.Value);
else
cmd.Parameters.AddWithValue("@SomeColumn", columnFilter);
connection.Open();
using (var rdr = cmd.ExecuteReader())
{
var list = new List<Foo>();
while (rdr.Read())
{
var foo = new Foo();
foo.Prop1 = rdr.GetInt32(0);
foo.Prop2 = rdr.GetString(0);
list.Add(foo);
}
return list;
}
}
}
}
より調整された例は
using System;
using System.Data;
using System.Data.SqlClient;
public class DataAccess
{
// This should be specific to your database.
const string ConnectionString =
"Data Source=(local);Initial Catalog=Northwind;Integrated Security=true";
const string TokenQuery @=
"SELECT tokens FROM dbo.yt2016;"
static IEnumerable<object> GetTokens()
{
using (var connection = new SqlConnection(connectionString))
{
// Create the Command and Parameter objects.
var command = new SqlCommand(TokenQuery, connection);
// Create and execute the DataReader,
// casting and yielding to the caller.
connection.Open();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
yield return reader[0];
}
}
}
}