Member 13174280 Ответов: 2

Запись и чтение текста в blob-объект (mysql)


C# WindowsForm
I have to memorize a simple text present in a TextBox
e.g: 
line1
line2
line3

into a BlobFiels MySql (medium Blob)
...

and then read and assign to TextBox


Что я уже пробовал:

byte[] byteBLOBData = (Byte[])(row["FIELDNAME"]);
String s = System.Text.Encoding.UTF8.GetString(byteBLOBData);


(Byte[])(row["FIELDNAME"])

row .... not recognized

what it is row ... object, variable ?

Richard MacCutchan

Что такое row?

Ashutosh Gpta

@Member 13174280, вы пробовали решение, то definlty вы бы определили тип строки, верно, но в любом случае у меня сложилось впечатление, что вы используете сетку, а строка-это тип DataRow, а имя поля-это имя столбца.

2 Ответов

Рейтинг:
1

OriginalGriff

Мы не можем сказать: ему нужна остальная часть этого метода, чтобы дать контекст сообщению об ошибке.
Но... предположим, что вы используете DataReader или DataTable в цикле для доступа к данным, и row должно быть связано с этой петлей.

Поэтому посмотрите на код вокруг этой строки и посмотрите, что автоматически меняется каждый раз вокруг цикла - это, вероятно, то, что вы должны использовать вместо этого row


Member 13174280

хорошо, Спасибо; моя ошибка в строке
и это правильно.

DataTable dtFoto = новый DataTable();
dtFoto = gesdb.QryRead(conn, dtFoto, Query); //выполнить запрос

MemoryStream ms;

int x = 0;
по каждому элементу (объекта datarow Row в dtFoto.Строк)
{
FileImg = строка["описание"].Метод toString();

byte[] byteBLOBData = (Byte[])(строка["public_note"]);
текстовое поле textbox1.Текст = Кодировка.Кодировке utf8.Метода getString(byteBLOBData);
}

тогда Клякса есть
строка1
строка2
...
в результате получается линия 1/nline2/nline3/n
texBox1 не применяет параметр /n
и показать line1line2line3

OriginalGriff

Ну конечно же, нет!
Если бы ты это сделал:

int x = 1;
x = 2;
x = 3;
Console.WriteLine(x);
Вы ожидаете, что он напишет "3" или "6"?
Вы делаете то же самое с вашим текстовым полем - каждый раз вокруг цикла вы устанавливаете значение текущей строки и отбрасываете все предыдущие.

Чтобы собрать каждую строку в отдельной строке многострочного текстового поля, вам нужно либо собрать все строки в массив строк и задать свойство Lines, либо добавить каждую строку текста с окружением.Новая линия, разделяющая их.

Member 13174280

эта процедура затем решить \Н

строки символ новой строки = среда.Строки;
int at = 0;
строку приложения;
строка app1 = "";

while (s.Length > 0)
{
в = с. Метод indexOf("\п");
приложение = С. Подстрока(0, у) + перевод строки;
s = s.подстрока(at + 1);
приложения app1 = приложения app1 + приложение;
}

текстовое поле textbox1.Текст = app1 в;

теперь показать
строка1
строка2
...
Линекс

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.