-1
をパラメータ化2)。アクセスが、私はこのクエリを実行しようとしていますIN()クエリ
「10」のみ、または「50」だけを入力すると、クエリごとに1行が返されます。
私はAccess 2013を使用していますが、何が間違っていますか?
私はそのようなクエリの作成using (DbConnection connection = new T())
{
connection.ConnectionString = query.DatabaseConnection.ConnectionString;
using (DbCommand command = connection.CreateCommand())
{
command.CommandText = query.QuerySql.Sql;
command.CommandType = CommandType.Text;
command.CommandTimeout = query.QuerySql.CommandTimeout;
if (query.QuerySql.Parameters != null)
{
foreach (var parameter in query.QuerySql.Parameters)
{
var commandParameter = command.CreateParameter();
commandParameter.ParameterName = $"@{parameter.Name}";
commandParameter.Value = parameter.Value;
command.Parameters.Add(commandParameter);
}
}
:
QuerySql sql = new QuerySql("SELECT * FROM Tabela1 WHERE Pole1 IN(@parameter)", new List<ISqlParameter>()
{
new SqlMultiNumberParameter("parameter", new List<string>() { "10", "50" }, "Test parameter")
});
parameter.Valueは、そのような文字列が返されます: "10、50"
敬具
マイケル
を実行することができますまたはそれ以上)の値 – Steve
パラメータを構築するために使用したコードとデータベース – Steve
の呼び出しを表示して、IN(10、50)に "10、50"を解決しないでください。 – Roofy