Преобразование типа данных - PullRequest
0 голосов
/ 14 ноября 2018

Я получаю сообщение об ошибке «Преобразование не удалось преобразовать значение 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 голосов
/ 14 ноября 2018

Ошибка, вызванная параметром "@UserId", прервалась при преобразовании базы данных.

Я бы использовал метод Add вместо AddWithValue, метод

, потому что метод Add может установить вашТип и размер параметра в базе данных

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

ПРИМЕЧАНИЕ

Попытайтесь установить правильное значение enum SqlDbType для параметра, который совпадает с вашим типом этого параметра.

...