其实很长一段时间因为自己的原因,去做项目的学习时间少了。今天遇到一个以前遇到的问题了。
使用过Parameters.AddWithValue()方法的朋友都知道,用这种方法很方便也比Parameters.Add()更有效率,可是当我们在动态写一个方法调用时确会出现一个问题AddWithValue()参数类型必须是string 和一个object对象,而Add()方法却的参数类型是一个sqlParameter对象于是我在开发中就遇到这样的问题了
先看下我写的代码
public static SqlCommand get_parmecmd(string pro, SqlParameter[] parme, SqlConnection cn) { SqlConnection _cn = cn; open_conn(cn); SqlCommand cmd = new SqlCommand(); cmd.Connection = _cn; cmd.CommandText = pro; foreach (SqlParameter sqlprarme in parme) { if (sqlprarme != null) { // cmd.Parameters.AddWithValue(sqlprarme) //cmd.Parameters.Add(sqlprarme) cmd.Parameters.AddWithValue(string.Empty,sqlprarme) } } return cmd; }红色的部分就会报错,参数不匹配,蓝色是Add()的正确使用方法,绿色是AddWithValue()的正确解决方法了,也就是我遇到的问题了,因为我记得以前我使用的是AddWithValue(sqlprarme)也可以通过编译,前面一直使用这个方法所以才遇到了问题,希望如果有遇到跟我一样的问题的同学们,看了这个解决方法有帮助。