public void CopyTo (SybaseParameter[] array, int index)
		{
			list.CopyTo (array, index);
		}
		public void Remove (SybaseParameter value)
		{
			//both this and the above code are the same. but need to work with
			// 1.1!
			value.Container = null;
			metaParameters.Remove (value.MetaParameter);
			list.Remove (value);
		}
		public void AddRange (SybaseParameter[] values)
		{
			AddRange((Array) values);
		}
		public void Insert (int index, SybaseParameter value)
		{
			list.Insert (index,value);
		}
		public int IndexOf (SybaseParameter value)
		{
			return list.IndexOf(value);
		}
		public bool Contains (SybaseParameter value)
		{
			return (this.IndexOf(value) != -1);
		}
		public SybaseParameter Add (SybaseParameter value)
		{
			if (value.Container != null)
				throw new ArgumentException ("The SybaseParameter specified in the value parameter is already added to this or another SybaseParameterCollection.");
			
			value.Container = this;
			list.Add (value);
			metaParameters.Add (value.MetaParameter);
			return value;
		}
Пример #8
0
		public override ICollection<ColumnSchema> GetProcedureColumns (ProcedureSchema procedure)
		{
			CheckConnectionState ();
			List<ColumnSchema> columns = new List<ColumnSchema> ();
			
			
			IDbCommand command = connectionProvider.CreateCommand (
				"sp_sproc_columns"
			);
			SybaseParameter owner = new SybaseParameter ("@procedure_owner", procedure.OwnerName);
			SybaseParameter name = new SybaseParameter ("@procedure_name", procedure.Name);
			command.Parameters.Add (owner);
			command.Parameters.Add (name);
			
			using (command) {
			    	using (IDataReader r = command.ExecuteReader()) {
			    		while (r.Read ()) {	
						ColumnSchema column = new ColumnSchema (this);
						column.Name = (string)r["COLUMN_NAME"];
						column.DataTypeName = (string)r["TYPE_NAME"];
						columns.Add (column);
			    		}
			    		r.Close ();
				}
				connectionProvider.Close (command.Connection);
			}
			
			return columns;