Я пытаюсь вставить документы в таблицу в БД, но продолжаю получать эту ошибку:
Столкновение с типом операнда: varbinary (max) несовместимо с текстом
любое направление будет чрезвычайно полезным.
В таблице документа много столбцов, я выбрал только эти два, думая, что мне не нужны все 50 столбцов, большинство из которых равны нулю;оба столбца установлены как (текст, ноль), поскольку большинство столбцов все (текст, ноль).
Я надеюсь, что мне не нужно ничего менять в базе данных и есть способ изменить код, чтобы файлы могли правильно заполняться в таблице документов.
Вот мой HttpPost:
[HttpPost]
public void UploadFiles()
{
if (!(Request.Files?.Count > 0)) return;
var filesCount = Request.Files.Count;
try
{
for (int i = 0; i < filesCount; i++)
{
var file = Request.Files[i];
var fileName = Path.GetFileName(file?.FileName);
if (fileName != null)
{
var fileBytes = new byte[file.InputStream.Length];
file.InputStream.Read(fileBytes, 0, fileBytes.Length);
file.InputStream.Close();
var cmdStr = "insert into [dbo].[Documents]
(DocumentName, DocumentLink) values(@val,@filename)";
using (var connection = new SqlConnection(con))
{
connection.Open();
var cmd = new SqlCommand(cmdStr, connection);
cmd.Parameters.AddWithValue("@val", fileBytes);
cmd.Parameters.AddWithValue("@filename", fileName);
cmd.ExecuteNonQuery();
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}