Я постараюсь сделать мой вопрос как можно более понятным ..
Итак, у меня есть следующая схема базы данных:
CREATE TABLE Books (
book_id INTEGER AUTO_INCREMENT PRIMARY KEY,
book_title VARCHAR(50) NOT NULL,
book_image LONGBLOB NULL DEFAULT NULL,
book_barcode LONGBLOB NULL DEFAULT NULL,
author_name VARCHAR(50) NOT NULL,
publisher VARCHAR(50) NOT NULL,
date_published DATE NULL,
isbn INTEGER NOT NULL,
borrow_duration INTEGER NOT NULL,
book_quantity INTEGER NOT NULL,
available_book_quantity INTEGER NOT NULL
);
И затем оператор вставки:
INSERT INTO Books(book_title, book_image, book_barcode, author_name, publisher, date_published, isbn, borrow_duration, book_quantity, available_book_quantity)
VALUES('Star Wars: Thrawn', LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Star_Wars_Thrawn.jpg'), LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/123.png'), 'Timothy Zahn', 'Del Rey Books', '2017-4-11', 0345511271, 7, 5, 5);
Вышеприведенная вставка прекрасно работает ... и теперь в моем приложении c# winforms я пытаюсь параметризовать LOAD_FILE, чтобы я мог динамически выбирать изображение штрих-кода (столбец book_barcode). У меня есть следующая вставка в моем c# SQL:
insert into Books(book_title, book_image, book_barcode, author_name, publication_name, date_published, isbn, borrow_duration, book_quantity, available_book_quantity) values(@bookTitle, @bookImage, @bookBarcode, @bookAuthor, @publisher, @datePublished, @isbn, @borrowDuration, @quantity, @availableQuantity);
Тогда моя параметризованная часть выглядит следующим образом:
command.Parameters.Add("bookBarcode", MySqlDbType.Blob).Value = image;
Я хочу, чтобы вышеуказанное на самом деле, как:
command.Parameters.Add("bookBarcode", MySqlDbType.Blob).Value = LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/123.png')
Это то, что я хочу, для параметризации LOAD_FILE, чтобы я мог динамически выбирать изображение штрих-кода ... надеюсь, я был чист:)