C# сохранить/просмотреть PDF - файл из базы данных SQL?
Привет,
я использую Visual Studio 2017, и можно загрузить PDF в databse, а затем просмотреть этот PDF-файл?
Я использую AcroPDFLib.
Я открыл pdf в AcroPDF, а затем пытаюсь сохранить этот файл, чтобы правильно построить таблицу базы данных... но это не работает.
Что я уже пробовал:
Все, что я знаю :(
Я пытался:
- подключите axAcrobatPDF к строке таблицы...
- конвертировать PDF в изображения, а затем Сохранить изображение в базе данных, а затем преобразовать изображение в формат PDF и открывается новый файл PDF в axAcrobatPDF
Richard MacCutchan
Почему вы конвертируете между PDF и изображением? Просто сохраните PDF-файл как есть.
Member 13708070
Потому что проще сохранить изображение, а затем просмотреть его в PictureBox из базы данных, чем сохранить и просмотреть PDF в axAcrobatPDF...
Этот метод и непосредственно сохранение pdf в databse не работает.
Member 13708070
Теперь у меня есть такая программа:
SqlConnection connection = new SqlConnection("источник данных = (LocalDB)\\MSSQLLocalDB; AttachDbFilename = ...\\Базы данных1.МДФ; Комплексная безопасность = истина");
частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
пробовать
{
соединение.Открыть();
SqlCommand cmd = соединение.CreateCommand();
УМК.Свойство Commandtype = Значение Commandtype.Текст;
УМК.CommandText = "вставить в [таблицу] (Id,cos,plik) значения ('" + idTextBox.Текст + "', '" + cosTextBox.Текст + "','" + axAcroPDF1.src + "')";
УМК.Метод executenonquery();
соединение.Закрывать();
idTextBox.Текст = "";
костекстбокс.Текст = "";
axAcroPDF1.в src = "";
отображать данные();
}
поймать (исключение бывший)
{
Ящик для сообщений.Шоу("ошибка\п" + экс.Сообщение, "Ошибка", MessageBoxButtons.Хорошо, MessageBoxIcon.Ошибка);
}
}
общественного недействительными display_data()
{
соединение.Открыть();
SqlCommand cmd = соединение.CreateCommand();
УМК.Свойство Commandtype = Значение Commandtype.Текст;
УМК.CommandText = "select * from [Table]";
УМК.Метод executenonquery();
DataTable dta = новый DataTable();
SqlDataAdapter dataadp = новый SqlDataAdapter(cmd);
dataadp.Заполнить(ДТА);
tableDataGridView.Источник данных = ДТА;
соединение.Закрывать();
}
строка imgLocation = "";
частный недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
Диалоговое диалоговое окно openfiledialog = новое диалоговое окно openfiledialog();
диалог.Фильтр = "все файлы(*.*)|*.*|PDF-файлы(*.файл PDF)|*.формат PDF|JPG файлы(*.в формате JPG)|*.файлы в формате PDF|в формате PNG(*.формат PNG)|*.ПНГ";
если (диалог.ShowDialog() == DialogResult.ОК)
{
imgLocation = диалог.имя файла.Метод toString();
axAcroPDF1.src = диалог.имя файла.Метод toString();
}
}
}
И когда я попытался добавить в базу данных я получил ошибку:
ОШИБКА
Неявное преобразование из типа данных varchar в varbinary(max) не допускается. Используйте функцию CONVERT для выполнения этого запроса.