powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему Columns[bindedFieldName].MaxLength равен -1 а не размеру колонки в MSSQL 2008 базе
2 сообщений из 2, страница 1 из 1
Почему Columns[bindedFieldName].MaxLength равен -1 а не размеру колонки в MSSQL 2008 базе
    #38316058
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не разберусь.
Вот сильно упрощенный пример (убраны проверки на null, тип объекта итп).
DataSet успешно заполняется данными.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
                ......
                cmd_MD_MAIN.CommandText = "SELECT * FROM table AS t";
                da_MD_MAIN.FillSchema(ds_MD_MAIN, SchemaType.Source);
                da_MD_MAIN.Fill(ds_MD_MAIN, "t");
                bs_MD_MAIN = new BindingSource(ds_MD_MAIN, "t");
                .....
                 _txtTAB_TEXT1.DataBindings.CollectionChanged += 
                           new System.ComponentModel.CollectionChangeEventHandler(this._txtTAB_TEXT1_CollectionChange);

                _txtTAB_TEXT1.DataBindings.Add(new Binding("Text", bs_MD_MAIN, "FieldName"));
                .....
                private void _txtTAB_TEXT1_CollectionChange(Object sender, CollectionChangeEventArgs e)
                {
                   Binding bindingObj = (e.Element as Binding);

                        DataView sourceView = null;
                        BindingMemberInfo bindingMemberInfoObj = bindingObj.BindingMemberInfo;

                           sourceView = ((bindingObj.DataSource as BindingSource).List as DataView);

                           string bindedFieldName = bindingMemberInfoObj.BindingField;

                           if (sourceView.Table.Columns[bindedFieldName].MaxLength < 0)
                              {
                                      MessageBox.Show("-1");
                              }
                 
                ....
                }



Спасибо.
...
Рейтинг: 0 / 0
Почему Columns[bindedFieldName].MaxLength равен -1 а не размеру колонки в MSSQL 2008 базе
    #38316085
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

Вопрос снят. Проблема была в строке:
da_MD_MAIN.FillSchema(ds_MD_MAIN, SchemaType.Source);
надо было ещё таблицу явно указать
da_MD_MAIN.FillSchema(ds_MD_MAIN, SchemaType.Source, "t");
и все заработало.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему Columns[bindedFieldName].MaxLength равен -1 а не размеру колонки в MSSQL 2008 базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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