Преобразование не удалось, когда я попытался сохранить изображение в базе данных - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь сохранить изображение в базе данных, но код выдает ошибку:

Не удалось выполнить преобразование при преобразовании значения nvarchar '/Image/malzemeresim/kırmızı-biber.png' в тип данныхint.

Я пробовал один и тот же код перед разными контроллерами, но он не вызывает ошибку.

Мой контроллер:

public ActionResult MalzemeEkle(Malzemeler m, HttpPostedFileBase file)
{
        string mainconn = ConfigurationManager.ConnectionStrings["Tarif"].ConnectionString;

        SqlConnection sqlconn = new SqlConnection(mainconn);

        string sqlquery = "insert into [Malzeme].[dbo].[Malzemeler] (Malzeme,Mal_Resim,Cat_Id) values (@Malzeme,@Cat_Id,@Resim)";
        SqlCommand sqlcomm = new SqlCommand(sqlquery, sqlconn);

        sqlconn.Open();

        sqlcomm.Parameters.AddWithValue("@Malzeme", m.Malzeme);
        sqlcomm.Parameters.AddWithValue("@Cat_Id", m.Cat_Id);

        if (file != null && file.ContentLength > 0)
        {
            string filename = Path.GetFileName(file.FileName);
            string imgpath = Path.Combine(Server.MapPath("/Image/malzemeresim/"), filename);
            file.SaveAs(imgpath);
        }

        sqlcomm.Parameters.AddWithValue("@Resim","/Image/malzemeresim/" +file.FileName);

        sqlcomm.ExecuteNonQuery();

        sqlconn.Close();

        return View();
    }

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Порядок параметров имеет значение при использовании INSERT INTO [Table] (col1, col2, col3) values (val1, val2, val3).Порядок значений должен соответствовать порядку столбцов.

Вы должны обновить свой SQL до:

insert into [Malzeme].[dbo].[Malzemeler] 
    (Malzeme, Mal_Resim, Cat_Id) values (@Malzeme, @Resim, @Cat_Id)"
0 голосов
/ 22 февраля 2019

порядок параметров в вашем запросе insert указан в неправильном порядке.Измените

insert into [Malzeme].[dbo].[Malzemeler] 
(Malzeme,Mal_Resim,Cat_Id) values (@Malzeme,@Cat_Id,@Resim)

на

insert into [Malzeme].[dbo].[Malzemeler] 
(Malzeme,Cat_Id,Mal_Resim) values (@Malzeme,@Cat_Id,@Resim)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...