今天做一个数据库操作类CommonDataAccess,其中需将DbParameter[]转换成SqlParameter[],本以为SqlParameter是继承DbParameter的,应该没有问题,可是调试时,我才发现我错了DbParameter[]转换为SqlParameter[]时返回的结果是null,这个是什么原因,知道的朋友请回复告诉我 谢谢了:)
解决DbParameter[]转换为SqlParameter[]时返回的结果是null的方法比较简单,只要将DbParameter[]中的每个DbParameter分别转换为SqlParameter,然后再将转换后的SqlParameter组成SqlParameter[]就可以了!
下面是转换方法:
#region ConvertParameters转换参数类型 private SqlParameter[] ConvertParameters(DbParameter[] commandParameters) { if (commandParameters == null) { return null; } SqlParameter[] _SqlParameters = new SqlParameter[commandParameters.Length]; for (int i=0;i<commandParameters.Length;i++) { _SqlParameters[i] = commandParameters[i] as SqlParameter; } return _SqlParameters; } #endregion