数据类型转换

时间:2018-11-14 08:53:21

标签: c# .net-4.5

我收到一个错误“将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);

1 个答案:

答案 0 :(得分:0)

"@UserId"参数引起的错误在数据库转换中失败。

我将使用Add方法而不是AddWithValue方法

因为Add方法可以在数据库中设置参数类型和大小

cmd.Parameters.Add("@UserId", SqlDbType.Int,0).Value = Login.userid_string;

注意

尝试设置一个正确的枚举SqlDbType值作为参数,该值与您的此参数类型相同。