今天做一个简单程序时,遇到这样一个错误"sqlparametercollection 仅接受非空的 sqlparameter 类型对象,不接受 string 对象"。
今天做一个简单程序时,遇到这样一个错误"sqlparametercollection 仅接受非空的 sqlparameter 类型对象,不接受 string 对象"。
问题是怎么出现的呢?其实是对SqlParameter方法不熟悉而造成的。看下当时我的代码:
public static void AddLeaveword(string name,string qq,string tel,string content)
{
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
using (SqlCommand comm = new SqlCommand("AddLeaveWord", conn))
{
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add(new SqlParameter("@Name", name));
//当时出错的代码:comm.Parameters.Add(new SqlParameter("@QQ", SqlDbType.Int).value=qq);
//下面是改正后正确的代码
SqlParameter param = new SqlParameter("@QQ", SqlDbType.Int);
param.Value = qq;
comm.Parameters.Add(param);
//当时出错的代码:comm.Parameters.Add(new SqlParameter("@Tel", SqlDbType.Int).value=tel);
//下面是改正后正确的代码
param = new SqlParameter("@Tel", SqlDbType.Int);
param.Value = tel;
comm.Parameters.Add(param);
comm.Parameters.Add(new SqlParameter("@Content", content));
comm.Parameters.Add(new SqlParameter("@Createtime", DateTime.Now.ToString()));
conn.Open();
comm.ExecuteNonQuery();
}
}
}
|