diff options
-rw-r--r-- | mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds70.cs | 22 |
2 files changed, 19 insertions, 8 deletions
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/ChangeLog b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/ChangeLog index 1d6c6377a76..ce6a7f73c11 100644 --- a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/ChangeLog +++ b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/ChangeLog @@ -1,3 +1,8 @@ +2007-03-21 Nagappan A <anagappan@novell.com> + + * Tds70.cs (BuildParameters, FormatParameter): Include @ before + parameter name, if doesnot exist. + 2006-07-18 Dean Brettle <dean@brettle.com> * Tds70.cs : Fixed bug in FormatParameter() which caused diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds70.cs b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds70.cs index 1d068e48781..e11979bcfbd 100644 --- a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds70.cs +++ b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds70.cs @@ -78,14 +78,17 @@ namespace Mono.Data.Tds.Protocol { StringBuilder result = new StringBuilder (); foreach (TdsMetaParameter p in Parameters) { + string includeAt = "@"; + if (p.ParameterName [0] == '@') + includeAt = ""; if (p.Direction != TdsParameterDirection.ReturnValue) { - if (result.Length > 0) - result.Append (", "); + if (result.Length > 0) + result.Append (", "); if (p.Direction == TdsParameterDirection.InputOutput) - result.Append (String.Format("{0}={0} output", p.ParameterName)); + result.Append (String.Format("{0}{1}={1} output", includeAt, p.ParameterName)); else - result.Append (FormatParameter (p)); - } + result.Append (FormatParameter (p)); + } } return result.ToString (); } @@ -133,7 +136,7 @@ namespace Mono.Data.Tds.Protocol { if( p.Direction == TdsParameterDirection.InputOutput ) set.Append (String.Format ("set {0}\n", FormatParameter(p))); else - set.Append (String.Format ("set {0}=NULL\n", p.ParameterName)); + set.Append (String.Format ("set {0}=NULL\n", p.ParameterName)); } count += 1; @@ -430,8 +433,11 @@ namespace Mono.Data.Tds.Protocol { private string FormatParameter (TdsMetaParameter parameter) { + string includeAt = "@"; + if (parameter.ParameterName [0] == '@') + includeAt = ""; if (parameter.Direction == TdsParameterDirection.Output) - return String.Format ("{0}={0} output", parameter.ParameterName); + return String.Format ("{0}{1}={1} output", includeAt, parameter.ParameterName); if (parameter.Value == null || parameter.Value == DBNull.Value) return parameter.ParameterName + "=NULL"; @@ -490,7 +496,7 @@ namespace Mono.Data.Tds.Protocol { break; } - return parameter.ParameterName + "=" + value; + return includeAt + parameter.ParameterName + "=" + value; } public override string Prepare (string commandText, TdsMetaParameterCollection parameters) |