Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22976/NHibernate/Impl
Modified Files:
PreparerImpl.cs
Log Message:
Moved the conversion of a SqlString to an IDbCommand into a method inside
of the SqlString.
Index: PreparerImpl.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Impl/PreparerImpl.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** PreparerImpl.cs 25 May 2004 17:15:44 -0000 1.4
--- PreparerImpl.cs 25 Jun 2004 20:42:24 -0000 1.5
***************
*** 81,113 ****
public IDbCommand BuildCommand(SqlString sqlString)
{
- int paramIndex = 0;
if(builtCommands.ContainsKey(sqlString))
return (IDbCommand) builtCommands[sqlString];
! IDbCommand cmd = factory.ConnectionProvider.Driver.CreateCommand();
!
! StringBuilder builder = new StringBuilder(sqlString.SqlParts.Length * 15);
! for(int i = 0; i < sqlString.SqlParts.Length; i++)
! {
! object part = sqlString.SqlParts[i];
! Parameter parameter = part as Parameter;
!
! if(parameter!=null)
! {
! string paramName = "p" + paramIndex;
! builder.Append( parameter.GetSqlName(factory.ConnectionProvider, paramName) );
! IDbDataParameter dbParam = parameter.GetIDbDataParameter(cmd, factory.ConnectionProvider, paramName);
! cmd.Parameters.Add(dbParam);
!
! paramIndex++;
! }
! else
! {
! builder.Append((string)part);
! }
! }
- cmd.CommandText = builder.ToString();
builtCommands.Add(sqlString, cmd);
--- 81,90 ----
public IDbCommand BuildCommand(SqlString sqlString)
{
if(builtCommands.ContainsKey(sqlString))
return (IDbCommand) builtCommands[sqlString];
! IDbCommand cmd = sqlString.BuildCommand(factory.ConnectionProvider.Driver);
builtCommands.Add(sqlString, cmd);
|