從表面上看,IDataParameter[]的實例就是一個IDataParameter的數組。而IDataParameter實際上是不能直接實例化的,所以這種數組其實很不常見,僅僅會出現在函數的入口參數裡面。且多以params的形式出現。這樣做的好處是令這個函數可以對付所有的數據庫。
IDataParameter[]簡單的說來,就是可以包含任何數據庫參數的數組,這些參數可以是SqlParameter或者OleDbParameter,但是,IDataParameter[]不可以直接從SqlParameter[]轉換過來。
下面是三種創建IDataParameter[]的方法:
一、直接構造:
IDataParameter[] parameters = new IDataParameter[]{ sqlparameter1, sqlparameter2, new SqlParameter(...) }
二、通過ArrayList轉換。
ArrayList paramlist = new ArrayList()
paramlist.Add( sqlparameter1 );
....
....
IDataParameter param = (IDataParameter[]) paramlist.ToArray( typeof( IDataParameter ) );
三、通過其他Parameter類型的數組創建。
SqlParameter[] _param = new SqlParameter[]{ .... }
IDataParameter[] param = new IDataParameter[ _param.Length ];
_param.CopyTo( param, 0 );