powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите составить запрос ....
4 сообщений из 4, страница 1 из 1
Помогите составить запрос ....
    #32124778
Astral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, помогите составить запрос в среде программирования С++ вида...
INSERT INTO ... VALUES (...., здесь_указатель_на_буфер_с_файлом, ...)
Дело в том, что, если просто собрать в одну строку, тогда при встрече в буфере символа \0, отбрасывается остальная часть запроса, а мне надо вставить в поле запись - бинарный файл ..... причем именно через SQL-запрос...
...
Рейтинг: 0 / 0
Помогите составить запрос ....
    #32125065
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что за база, что за тип поля, в которое ты делаешь вставку файла, какими средствами ты пользуешься ( odbc? embedded sql? ) -- трудно сказать, да?
"здесь_указатель_на_буфер_с_файлом" -- типа FILE *fp, или что?

1) попробуй использовать blob-locator, чтобы забыть про этот запрос.
2) чтобы '\0' не считался за конец стороки, "здесь_указатель_на_буфер_с_файлом" должен быть определенного типа, например:
struct VARCHAR
{
sqlint16 len;
char buf[ ... ];
} "здесь_указатель_на_буфер_с_файлом";
а поле, в которое вставляется файл, тоже должно быть определенного типа, например VARCHAR FOR BIT DATA, или BLOB.

хотя, что за база--неизвестно :)
...
Рейтинг: 0 / 0
Помогите составить запрос ....
    #32125087
Astral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База в принципе абсолютно все равно какая т.к. используется ODBC.....
Но если это поможет ответить - то MS SQL 2000... поле BINARY ....
Но что из этого ??? Данные загонять/изменять надо все равно программно, причем используя только функции ODBC 1.0 API....
...
Рейтинг: 0 / 0
Помогите составить запрос ....
    #32125119
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:(
не знаю, я не ползуюсь не SQL Server, и не пишу через ODBC

может быть, вот в SQL Server сработает

допустим, есть таблица
CREATE TABLE TXT (ID INTEGER, TEXT BLOB(32765));


вставка:
INSERT INTO TXT (ID, TEXT) VALUES ( 1, '');
дальше можно в цикле выполнять statements вида
UPDATE TXT SET TEXT = TEXT CONCAT x'00FF123455678900AB'
WHERE ID = 1;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите составить запрос ....
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]