Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по работе с бинарными данными web-sql-web / 8 сообщений из 8, страница 1 из 1
30.01.2017, 11:39
    #39394475
Вопрос по работе с бинарными данными web-sql-web
Здравствуйте!
Осваиваю asp net web form.
Создал проект с табличками, полями и т.д. Возникла необходимость добавить поле для ввода форматированного текста и тут я "поплыл"... В Delphi компонент RichEdit абсолютно меня устраивал и я честно говоря не думал, что подобного компонента нет в стандартном наборе MSVS2013. Казалось бы чего сложного!?! Ан нет! Нет ничего... Долго вообще понять не мог как такое возможно, однако "со скрипом" принял сей факт и вроде вот нашёл что-то похожее - бесплатный компонент FreeTextBox, который очень похож на то, что мне нужно. Однако встал вопрос, а как сохранить содержимое в SQL столбец с типом IMAGE!? В Delphi я это реализовывал записью всего содержимого в stream, а после передавал параметром ADOStoredProc процедуре. Считывал также через поток.
Уважаемые, помогите с примером на asp net, как реализовать два данных манёвра!? Поскольку я только начинаю изучение asp net, то возможно в вопросе есть некоторая не точность. Приветствуются наводящие встречные вопросы! ))
P.S. Если есть иной компонент для просмотра и редактирования форматированного текста, то с радостью приму Ваши рекомендации!
...
Рейтинг: 0 / 0
30.01.2017, 13:33
    #39394595
Березовский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с бинарными данными web-sql-web
Пользуюсь http://ckeditor.com/
все вроде просто
...
Рейтинг: 0 / 0
30.01.2017, 13:56
    #39394637
Вопрос по работе с бинарными данными web-sql-web
Я представляю, что всё не сложно. Вопрос в том как!? )
На делфях я с закрытыми глазами мог написать как содержимое RichEdit в поток запихать и передать процедуре и вытащить обратно в лёгкую. На asp net в данном вопросе вообще не пойму "за какой конец" хвататься! ))
Скажем есть проца, и есть предположим код
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
            // Сохраняем изменения в БД

            cmd.Connection = con;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "[InsertFile]";

            cmd.Parameters.Add("@cID", SqlDbType.UniqueIdentifier);
            cmd.Parameters["@cID"].Value = new Guid(lbl_cID.Text);
            cmd.Parameters.Add("@FileName", SqlDbType.NVarChar, 256);
            cmd.Parameters["@pPost"].Value = TB_FileName.Text;
            /* А здесь надо как-то из FreeTextBox содержимое выдернуть в поток или во что-то иное
            и так же передать как параметр @bin с типом IMAGE данной проце */

            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
...
Рейтинг: 0 / 0
30.01.2017, 14:06
    #39394654
Березовский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с бинарными данными web-sql-web
Так же и передавайте по аналогии с другими параметрами
Я у себя html блоки храню в поле типа Text
Параметр передаю как текст(FreeTextBox.Text или что там у него есть? ), проблем не возникало.
...
Рейтинг: 0 / 0
30.01.2017, 14:18
    #39394670
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с бинарными данными web-sql-web
Сергей Морофф,

1. а для чего ты используешь тип IMAGE? вроде обычный текст и это старое барахло https://msdn.microsoft.com/ru-ru/library/ms187993.aspx (ВАЖНО! ntext, текст, и изображение типы данных будут удалены в следующей версии SQL Server. Следует избегать использования этих типов данных при новой разработке и запланировать изменение приложений, использующих их в настоящий момент. Используйте вместо них следующие типы данных: nvarchar(max), varchar(max) и varbinary(max).)
используйте nvarchar(max) если нужно до 4гб или с указанием длины строки, хотя если хочешь как бинарные данные то varbinary, то можешь сделать вот так Encoding.ASCII.GetBytes(строка).
2. не используй на прямую ADO эт много кода копипастить, рекомендую dapper.net
запрос станет в стиле
Код: c#
1.
2.
3.
4.
using(var con = new SqlConnection())
{
con.Query<>("cmd", new {cID = ,  new Guid(lbl_cID.Text), FileName =TB_FileName.Text, bin = txtField.Text } , commandType: CommandType.StoredProcedure)
}



п.с. хранимка так и нужна ли?) я давно не видел проектов где обычную вставку заворачивают в хранимку.
п.с.п.с. хранимка имхо только если тока суперуберсложная фигня.
...
Рейтинг: 0 / 0
31.01.2017, 11:14
    #39395241
Вопрос по работе с бинарными данными web-sql-web
handmadeFromRu,

Спасибо за информацию от мелкософта! Перешёл на nvarchar(max).
Код, в части сбора текста из FreeTextBox, получился проще чем я ожидал.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
// Сохраняем изменения в БД

            cmd.Connection = con;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "[web_ClientCard_AppealsUpdate]";

            cmd.Parameters.Add("@pFIO", SqlDbType.NVarChar, 50);
            cmd.Parameters["@pFIO"].Value = DDL_AppealContact.Items[DDL_AppealContact.SelectedIndex].Value;
/* ещё много чего */
            cmd.Parameters.Add("@appBody", SqlDbType.NVarChar); /* я так понял без указания размерности и будет как раз nvarchar(max)  !? */
            cmd.Parameters["@appBody"].Value = FTB_AppealBody.Text; /* это тот самый FreeTextBox */
/* и далее ещё параметры */

            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();


, только вот я споткнулся на какой-то "ерунде": У меня рядом с FreeTextBox расположена кнопка, на ней событие OnClick. Оно почему-то перестаёт срабатывать после ввода текста в FreeTextBox, в GoogleChrome, а в IE работает... Куда копать? Сам компонент корявый или что это? И ещё что странно, выставил ширину FreeTextBox 100%, в Хроме ширина так и есть, а в IE он ограничивается почему-то 50 символов в ширину и 10 символов в высоту, не смотря на Width="100%"
...
Рейтинг: 0 / 0
31.01.2017, 11:21
    #39395249
Вопрос по работе с бинарными данными web-sql-web
Березовский,

Он платный я так понял!? А как его "прикрутить" в проект и добавить на страницу? Ещё раз говорю, что для меня asp.net ещё неизученный колодец. Подскажите плиз!
...
Рейтинг: 0 / 0
31.01.2017, 12:13
    #39395325
Березовский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с бинарными данными web-sql-web
2 Сергей Морофф, он бесплатный
1) скачать можно тут http://ckeditor.com/download
2) Положить папку к себе в проект
3) Подключить js
Код: javascript
1.
 <script type="text/javascript" src="ckeditor/ckeditor.js"></script>



4) для текстбокса указать в css ckeditor
Код: html
1.
  <asp:TextBox ID="MyTextBox" runat="server" CssClass="ckeditor" TextMode="MultiLine" Height="200px"></asp:TextBox>



Вроде все...При запуске должен вести себя "как редактор"

Посмотрите примеры тут http://docs.cksource.com/CKEditor_3.x/Developers_Guide/ASP.NET/Samples
Показано как "по другому" регистрировать его на странице
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по работе с бинарными данными web-sql-web / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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