From: Michael D. <mik...@us...> - 2004-06-25 20:42:33
|
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); |