Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
1

Проблема с blob и text

22.12.2008, 12:45. Показов 4225. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема при работе на c# и mysqldrivercs.
Определяю столбец типа TEXT. Сбрасываю данные в базу из RichTextBox. Когда считываю обратно из бд, то в каждой ячейке одно и то же - System.Byte[]. При переводе в тип varchar появляется текст, однако некорректный с точки зрения текста, но читаемый.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2008, 12:45
Ответы с готовыми решениями:

Не работает выборка типа <pole1> like '%<text>%' or <pole2> like '%<text>%'
прошу прощения за может глупый вопрос, но играюсь уже второй день и не могу понять в чем дело ...

BLOB/TEXT column 'text' used in key specification without a key length
Короче хочу добавить индекс к полю в итоге получаю ошибку.. BLOB/TEXT column 'text' used in key...

Вопрос: определение полей blob и text
Требуется вывод типов полей таблицы. Проблема в том, что в базе MySql тип данных является...

Проблема со вставкой данных типа BLOB
Не могу сохранить картинку в blob. Что-то ничего не получается. Может хитрость какая-то есть? -...

12
1856 / 713 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
22.12.2008, 13:11 2
Не совсем понял как это
Цитата Сообщение от Karl Посмотреть сообщение
некорректный с точки зрения текста, но читаемый
Может потому что в RichTextBox данные сохраняются с форматированием а varchar - это простой текст?

Возможно нужно брать richTextBox.Text.
0
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
23.12.2008, 10:27  [ТС] 3
Цитата Сообщение от Otaka Посмотреть сообщение
Не совсем понял как это


Может потому что в RichTextBox данные сохраняются с форматированием а varchar - это простой текст?

Возможно нужно брать richTextBox.Text.
С varchar действительно нет форматирования, но с этой проблемой я разобрался. Вопрос в том, что мне нужно хранить в Text (то есть больше 255 символов). А из Text сбрасывая с помощью MySQLConnect.Fill(DataTable) и текста команды Select * from table получаю в ячейках вместо текста - System.Byte[]. Меняю тип на varchar - появляется мой текст, то есть в БД он хранится правильно, но при типе Text - выводит тип, а не содержимое.
Попытка перевести ячейку в массив проваливается - пишет не могу преобразовать тип System.String в System.String[] или System.Byte[].
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
23.12.2008, 15:49 4
Покажите код вывода текста.
0
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
25.12.2008, 18:39  [ТС] 5
Цитата Сообщение от Green Посмотреть сообщение
Покажите код вывода текста.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
MySQLConnection MyConn = new MySQLConnection(new MySQLConnectionString(Host, DataBaseName, UserName, Password).AsString);
try
{
MyConn.Open();
}
catch
{
MyConn.Close();
return null;
}
MySQLCommand MyCmd = new MySQLCommand();
MySQLDataAdapter MyAdapt = new MySQLDataAdapter();
MyCmd.Connection = MyConn;
DataTable dt = new DataTable(); 
MyCmd.CommandText = "Select * from question";
MyAdapt.SelectCommand = MyCmd;
MyAdapt.Fill(dt);
MyConn.Close(); 
DataGridView1.DataSource=dt;
В DataGridView1 в столбце textquestion вместо содержания вопроса - пишет System.Byte[] во всех ячейках.
1
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
26.12.2008, 05:41 6
В DataTable явно добавьте колонки с указанием типа.
0
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
26.12.2008, 10:57  [ТС] 7
Цитата Сообщение от Green Посмотреть сообщение
В DataTable явно добавьте колонки с указанием типа.
А какой тип указывать - ведь в c# нет типа text?
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
26.12.2008, 12:07 8
Почему бы не воспользоавться xsd схемой, тогда можно всё в редакторе настроить, чтобы корректно показывало

ЗЫЖ: а раз Вы работаете с MSSQL Server то модно скпокойно использовать Linq.
0
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
26.12.2008, 15:34  [ТС] 9
Цитата Сообщение от WorkerM Посмотреть сообщение
Почему бы не воспользоавться xsd схемой, тогда можно всё в редакторе настроить, чтобы корректно показывало

ЗЫЖ: а раз Вы работаете с MSSQL Server то модно скпокойно использовать Linq.
Я работаю с мускулом и ручками.
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
26.12.2008, 15:44 10
Цитата Сообщение от Karl Посмотреть сообщение
Я работаю с мускулом и ручками.
На их сайте есть клиентская прога с сырцами, при устанвки онной можно сделать то что я писал выше --- mysql-connector-net-5.2.5 кажись так называется . Есть также DbLinq-0.18 к-рый генерит cs файл и можно работать с готовыми аблицами адаптерами и прочее под linq для многих БД в частности MySQL 8)

Добавлено через 1 минуту 2 секунды
Если тебе не горит, на выходных пример слабаю и скину сюда сырцы
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
29.12.2008, 02:53 11
Цитата Сообщение от Karl Посмотреть сообщение
А какой тип указывать - ведь в c# нет типа text?
Попробуйте так:
C#
1
DataColumn col1 = new System.Data.DataColumn("Content", typeof(string), null, System.Data.MappingType.Element);
0
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
09.01.2009, 12:55  [ТС] 12
Цитата Сообщение от WorkerM Посмотреть сообщение
На их сайте есть клиентская прога с сырцами, при устанвки онной можно сделать то что я писал выше --- mysql-connector-net-5.2.5 кажись так называется . Есть также DbLinq-0.18 к-рый генерит cs файл и можно работать с готовыми аблицами адаптерами и прочее под linq для многих БД в частности MySQL 8)

Добавлено через 1 минуту 2 секунды
Если тебе не горит, на выходных пример слабаю и скину сюда сырцы
Совершенно не горит, просто делаю класс для студентов - ka4project.narod.ru В общем-то все уже работает, кроме вот нескольких непоняток.

Добавлено через 41 секунду
Цитата Сообщение от Green Посмотреть сообщение
Попробуйте так:
C#
1
DataColumn col1 = new System.Data.DataColumn("Content", typeof(string), null, System.Data.MappingType.Element);
Попробую. Спасибо.
0
1 / 1 / 0
Регистрация: 22.12.2008
Сообщений: 7
20.01.2009, 09:05  [ТС] 13
Цитата Сообщение от Karl Посмотреть сообщение
Совершенно не горит, просто делаю класс для студентов - ka4project.narod.ru В общем-то все уже работает, кроме вот нескольких непоняток.

Добавлено через 41 секунду


Попробую. Спасибо.
Проблема решилась очень просто. Взял новую библиотеку с сайта МуСКЛ.КОМ и все стало работать. Видимо старая библиотека работала некорректно.
0
20.01.2009, 09:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2009, 09:05
Помогаю со студенческими работами здесь

#1170 - BLOB/TEXT column 'id' used in key specification without a key length
После выполнения этого кода: CREATE TABLE forum_themes( id TINYTEXT, name TINYINT, autor_name...

результат выборки из БД: rs.next(); String text=rs.getString('text'); <input type=text name=name value=<%=text%>>
Возникла проблема в текстовое поле надо вывести результат выборки из БД rs.next(); String...

Проблема с WInsock'ом Winsock1.GetData Data, vbString Text1.Text = Text1.Text & Data
Получаю данные так: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Data As String...

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOB
При внесении данных в БД возникла ошибка.Ни как не могу заполнить таблицу. Помогите пожалуйста!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru