summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina/DataAccess/Builders/Query.cs
blob: 0b95bf1befccd8620fbec6a4bde1fe5e862db05f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Data;

namespace Marina.DataAccess.Builders {
	public class Query : IQuery {
		public Query( IQueryBuilder builder ) {
			_builder = builder;
		}

		public void Prepare( IDbCommand command ) {
			command.CommandText = _builder.ToString( );
			command.CommandType = CommandType.Text;
			foreach ( DatabaseCommandParameter parameter in _builder.Parameters( ) ) {
				IDataParameter commandParameter = command.CreateParameter( );
				commandParameter.ParameterName = "@" + parameter.ColumnName;
				commandParameter.Value = parameter.Value;
				command.Parameters.Add( commandParameter );
			}
		}

		private readonly IQueryBuilder _builder;
	}
}