SqlCommandParameters转SqlParameter的输出函数取值为空的坑
简书链接:SqlCommandParameters转SqlParameter的输出函数取值为空的坑
文章字数:142,阅读全文大约需要1分钟
经过测试发现 直接循环赋值发现, SqlCommand.Parameters没指定size,但是转sqlparammeter没指定size就会导致字符串为空, 之前也尝试过拷贝,发现内存中size就是0 ,所以针对字符串只能强制给定大小。
1 |
|
1 | cmd.Parameters.Add("@x", SqlDbType.VarChar); |
定义方法的多种构造
1 | sqlParameter = new SqlParameter(sqlCommand.Parameters[i].ParameterName, SqlDbType.VarChar,500) { Value = sqlCommand.Parameters[i].Value, Direction = sqlCommand.Parameters[i].Direction }; |
或者不指定(针对非字符串类型)
1 | sqlParameter = new SqlParameter(sqlCommand.Parameters[i].ParameterName, SqlDbType.Decimal) { Value = sqlCommand.Parameters[i].Value, Direction = sqlCommand.Parameters[i].Direction }; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 情迁博客!
评论