我收到一个错误“将nvarchar值'UDAYA'转换为数据类型int时转换失败。”我试图通过添加Convert.ToInt32();来解决它。但是没有解决。 我的代码看起来像
SqlConnection connection = new SqlConnection(connectionstring);
connection.Open();
SqlCommand cmd = new SqlCommand(("select MenuId from MenuPermissionTable where UserId=@UserId"), connection);
cmd.Parameters.AddWithValue("@UserId",Login.userid_string);
Convert.ToString("@UserId");
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.SelectCommand = cmd;
DataSet ds = new DataSet();
adp.Fill(ds);
答案 0 :(得分:0)
由"@UserId"
参数引起的错误在数据库转换中失败。
我将使用Add
方法而不是AddWithValue
方法
因为Add
方法可以在数据库中设置参数类型和大小
cmd.Parameters.Add("@UserId", SqlDbType.Int,0).Value = Login.userid_string;
注意
尝试设置一个正确的枚举SqlDbType
值作为参数,该值与您的此参数类型相同。