powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
50 сообщений из 50, показаны все 2 страниц
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32601978
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема вот в чем...
есть форма, основанная на таблице (например Клиенты).
Таблица Клиенты имеет поле klient_id кот автоматически проставляется при заполнении других полей строки.
Соот-но пользователь на форме не должен заполнять поле klient_id, но если его просто не заполнить, значение останется 0 (что не допускается)
Что можно сделать???
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602103
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неправда, если в таблице полю присвоено значение автономер, то и на форме там будет появлятся номер, кот появляется в таблице
Вообще то пользователю незачем видеть эьо поле вообще, его просто не надо показывать...
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602122
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я это поле временно сделала видимым и в нем почему-то стоит 0 при добавлении. Я видимо что-то не доделала в самом приложении, потому как в базе проблем нет, у меня сейчас на ней тоже приложение только на VB6.0 работает
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602124
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я только не пойму что не так?
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602143
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы используете Identity в MS SQL, то должны ввернуть последний сформированный Identity, и обновить соответствующее поле в DataSet. Насколько я помню Data-Wizard в VS.NET, правильно делает код для этого случая. В частности проставляет в Insert команде, select @@identity или select @@scope_identity.

Теперь действия до отправления изменений на сервере, PK не допускает Null значений, для этого в DataTable, в Column который является PK проставляется свойство AutoIncrement = True, AutoSeed = -1 (во избежании конфликтов лучше двигаться в отрицательную сторону)

При использовании Typed DataSet студия тоже правильно заполняет (должна) заполнять эти свойства по схеме данных.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602147
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы покажете код своих DataAdapter, а также скажете typed DataSet вы используете или нет, то можно поговорить по конкретнее.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602356
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SqlDataAdapter1:

SELECT klient_id, klient_name, klient_R_S, klient_K_S, klient_BIK, klient_bank, klient_INN, klient_OKONH, klient_OKPO, klient_komments, klient_type, klient_manager, Klient_date, director, buhgalter FROM TKlients


SqlDataAdapter2:

SELECT adress_id, klient_id, adress, klient_phone, adress_komments FROM TAdress

Что такое DataSet я знаю.
А что такое typed DataSet ?
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602411
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я посмотрела в CommandText действительно стоит команда Insert...klient_id=@@identity
Но почему-то при Update выдается ошибка, что невозможно вставить так как значение = 0 у klient_id
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602465
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме в виде TextBox поля для ввода информации по клиенту в таблицу TKlinets и есть еще DataGrid (кот основывается на подчиненной талице TAdress). Эти две таблицы связаны по klient_id. Соот-но когда я заполняю поля грида выдается эта ошибка нулевое значение klient_id.
Как можно передать текущее значение кода клиента?

Это ommandText для SqlDataAdpter2:
Код: plaintext
1.
2.
3.
4.
5.
6.
INSERT INTO TAdress
                      (klient_id, adress, klient_phone, adress_komments)
VALUES     (@klient_id, @adress, @klient_phone, @adress_komments);
                          SELECT     adress_id, klient_id, adress, klient_phone, adress_komments
                           FROM         TAdress
                           WHERE     (adress_id = @@IDENTITY)
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32602712
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Typed DataSet - типизированный датасет, судя по всему вы его как раз используете.

Тогда посмотрите следующие свойства у столбца TKlient.klient_id


AutoIncrement
AutoIncrementSeed


Для этого откройте схему вашего DataSet, выберите таблицу TKlient и столбец klient_id. Далее см. указанные свойства.
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32603123
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
св-ва, кот вы указали мне я установила...
ошибка пока остается актуальной, поэтому у меня все еще вопрос, как указать в гриде (основанной на Tadress) текущее значение klient_id
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32603138
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irinka
св-ва, кот вы указали мне я установила...
ошибка пока остается актуальной, поэтому у меня все еще вопрос, как указать в гриде (основанной на Tadress) текущее значение klient_id

После того как вы установили свойства (и что вы установили) в TKlient значения по klient_id формируются?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32603161
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в схеме датасета для TKlients поля klient_id св-ва AutoIncrement=true AutoIncrementSeed=-1
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32603231
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa
в TKlient значения по klient_id формируются?

Например в DataGrid когда вы добавляете запись в DataTable TKlient?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32604141
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что когда открывается форма на добавление в базе в таблице TKlients появляется строка пустая строка, но с кодом клиента.
На форме же когда я заполняю данными и обновляю строкой UpdateDataSet(), в базе ничего не отражается.
Что касается грида, то заполняя одно из полей грила и при переходе на др строку выдается известное вам сообщение о том, что нельзя нулевое значение...
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605077
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irinka
Дело в том, что когда открывается форма на добавление в базе в таблице TKlients появляется строка пустая строка, но с кодом клиента.
На форме же когда я заполняю данными и обновляю строкой UpdateDataSet(), в базе ничего не отражается.

Давайте попорядку. И вначале следует разобраться в клиентском приложении
1) TKlients теперь автоматически формирует klient_id? (-1, -2 , -3 и т.д)
2) метода UpdateDataSet() в DataSet нет, если он у вас в форме, то привидите его код. В любом случае до обновления базы данных еще рано говорить.
3) Опишите точную последовательность действий, что за чем и как происходит, в общих словах не понятно, что отражается а что нет. В каких гридах, какие данные привязаны к этим гридам, какие формы, что на этих формах и т.д.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605294
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. TKlients теперь автоматически формирует klient_id?
Формирует, но надо учитывать, что приложение с теми функциями, что я сейчас собираюсь воспроизвести на VB.Net уже использовалось раньше на VB6.0, соот-но база не пустая, соот-но не нужно делать св-во ...Seed=-1.
2. С помощью Wizard я создала эту форму и на ней сформировалась кнопка Update с таким обработчиком:
...
Try
UpdateDataSet()
Catch
...
3. Есть форма, на ней
TextBox1 - klient_name
...
TextBoxn - Type_klient
(klient_id - для пользователя не видно)
Все текстбоксы основаны на полях из таблицы TKlients
Ниже расположен грид (основанный на TAdress)
TAdress (klient_id, adress_id, adress, phone, komments)
В гриде я отображаю только последние три поля.
Сначало заполняю TextBox - ы (причем обязательно для заполнения только klient_name)
Потом перехожу в грид, например заполнила только адрес и перехожу на др строку как выдается сообщение, что klient_id не может быть равно 0 ...
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605330
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения, не увидела сразу...
По поводу пункта 2:
Выше описано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Sub UpdateDataSet()
          Dim objDataSetChanges As Schet.DSProdavec_Adress = New Schet.DSProdavec_Adress()
           Me.BindingContext(DsProdavec_Adress, "TKlients").EndCurrentEdit()
        Me.BindingContext(DsProdavec_Adress, "TAdress").EndCurrentEdit()
              objDataSetChanges = CType(DsProdavec_Adress.GetChanges, Schet.DSProdavec_Adress)
        If (Not (objDataSetChanges) Is Nothing) Then
            Try
                  Me.UpdateDataSource(objDataSetChanges)
                DsProdavec_Adress.Merge(objDataSetChanges)
                DsProdavec_Adress.AcceptChanges()
            Catch eUpdate As System.Exception
                Throw eUpdate
            End Try
        End If

    End Sub
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605349
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irinka
1. TKlients теперь автоматически формирует klient_id?
Формирует, но надо учитывать, что приложение с теми функциями, что я сейчас собираюсь воспроизвести на VB.Net уже использовалось раньше на VB6.0, соот-но база не пустая, соот-но не нужно делать св-во ...Seed=-1.

Это псевдозначения, при Update эти значения использоваться не будут. А вот Identity возвращаться после Update обратно в DataSet должен и это уже будут настоящие значения поля klient_id. Поэтому наличие Seed = -1 обязательно (В Seed стоит минус один поэтому конфликта уже с существующими загруженными в DataSet записями не будет)


irinka
2. С помощью Wizard я создала эту форму и на ней сформировалась кнопка Update с таким обработчиком:
...
Try
UpdateDataSet()
Catch
...

Ну тут wizard не должен подвести, там скорее всего стоит DataAdapter.Update() и после DataSet.AcceptChanges(), ну и любит он Merge() в принципе туда не вмешиваемся.


irinka
3. Есть форма, на ней
TextBox1 - klient_name
...
TextBoxn - Type_klient
(klient_id - для пользователя не видно)
Все текстбоксы основаны на полях из таблицы TKlients
Ниже расположен грид (основанный на TAdress)
TAdress (klient_id, adress_id, adress, phone, komments)
В гриде я отображаю только последние три поля.
Сначало заполняю TextBox - ы (причем обязательно для заполнения только klient_name)
Потом перехожу в грид, например заполнила только адрес и перехожу на др строку как выдается сообщение, что klient_id не может быть равно 0 ...

Понятно срабатывает constraint и все правильно, поэтому вопрос после того как вы установили AutoIncrementSeed = -1, и AutoIncrement = True исключение продолжает возникать?


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605392
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa
Понятно срабатывает constraint и все правильно, поэтому вопрос после того как вы установили AutoIncrementSeed = -1, и AutoIncrement = True исключение продолжает возникать?

Да, продолжает возникать
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605408
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю, почему возникает эты ошибка. Потому что стоит значение 0. Я не понимаю почему там сстоит 0. Создавалось Wizard - ом и не понятно почему когда я начинаю заполнять грид в таблицу TAdress не заносится только что созданные klient_id из TKlients
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605412
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только что созданный klient_id
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605449
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще что...
Я заполнила TextBox1 (klient_name) и нажала кнопку Update после чего в TKlients создалась строка с заполнененным полем klient_id, однако поле klient_name имело значение null
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605463
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний вопрос снимается, так как я обнаружила что для этого поля не было прописана связь с датасетом
Мне только не понятно почему я создавала Wizard - ом и нигде ничего не прописалось :(
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605517
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавьте еще
Код: plaintext
1.
AutoIncrementStep = - 1 

Какие формируются теперь значения klient_id?
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605627
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что я еще обнаружила, если загрузить все записи из датасета ,то в гриде отображается не одна запись для определенного клиента, а все записи всех клиентов.
Где нужно установить и что, чтобы в гриде отражались записи только для конкретного клиента
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605642
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что я еще обнаружила, если загрузить все записи из датасета ,то в гриде отображается не одна запись для определенного клиента, а все записи всех клиентов.
Где нужно установить и что, чтобы в гриде отражались записи только для конкретного клиента

Имеется ввиду отображаются все адреса? И ответье на мой вопрос по Step

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605731
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
установила и там -1, ничего не изменилось - ошибка
да, я имею ввиду все адреса
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605817
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то мы по кругу начали ходить

установила и там -1, ничего не изменилось
какое значение становиться у klient_id при добавлении записи

Я бы сейчас вообще убрал DataRelation на таблицу адресов, чтобы constraint'ов было меньше.

P.S. Приводите полное сообщение ошибки


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605950
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установила я в св-ве Step = -1, вытащила на форму поле для отображения klient_id ну и там отображается такое значение -1, при очередном добавлении -2 ...А после Update отображаются уже реальные значения (1086, 1087)
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32605966
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак с TKlient значит разобрались, теперь я так понял осталась проблема с адресами. При вводе нового клиента и добавление новых адресов выскакивает ошибка ? Какая?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32606046
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В гриде я добавила пока поле klient_id, чтобы видеть что туда заносится, так вот я занесла инфу в грид перехожу на др строку, значение в поле klient_id остается (null) и выдается такая ошибка:
Column klient_id does not allow nulls. Do you want to correct the value?
Если нажимаешь No, то изменения в гриде (занесение нового адреса) отменяется и все поля становятся = (null)
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32606129
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как раз вы сейчас описываете грид с адресами?
DataRelation между клиентами и адресами установлен?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32606140
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да описываю именно грид.
DataRelation есть
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32606170
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откройте xsd файл (ваш DataSet) выберите DataRelation между клиентом и адресами и поставьте UpdateRule = Cascade. Попробуйте.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32606230
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит так:
Я заново создала форму с помощью визарда и вот что получилось, что касается отображения адреса только для данного клиента - это все нормально (вопрос снисается), далее когда я заполняю грид, то значение в поле klient_id в гриде отображается тоже что и в текстбоксе (соот-но со всеми установленными св-вами -2), но теперь когда я перехожу на др строку выдаеся такое сообщение:

ForeignKeyConstraint qqq requires the child key values (-2) to exists in the parent table. Do you want to correct the value?

Что касается Update - Cascade, я это установила
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32607243
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можете прикрепить к своему сообщению (см. приложить файл ) xsd файл, или его часть касающая взаимодействую этих двух таблиц.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32608088
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32608093
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложила файл
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32609781
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По xsd сравнительно все в порядке, некоторые мелочи по xsd:
1) Убрать у relation AcceptRejectRule = cascade , сделать none
2) TKlient не выставлен AutoincrementSeed , AutoIncrementStep хотя скорее всего это в моей версии вашего xsd.

Остается следующее: Так как добавление записи в TKlient и TAddress происходит в одной форме то у меня следующее предположение:

При добавлении записи в TKlient и редактировании TAddress, изменения фактически в TKlient ЕЩЕ не внесены (это можно проверить по DataRowVersion) По этому по DataRelation proposed значения мигрируются, но фактически они не существуют для FK constraint . Из - за чего и возникает исключение FK constraint.

Пока возможные решения:
1) Вызывать EncCurrentEdit или EndEdit перед переходом к TAddress. Здесь мне надо посмотреть код DataBindings.Add вашего textbox (достаточно посмотреть код для klient_id)
2) Отключать на время constraint, и включать их после окончательного редактирования клиента.

ИМХО вариант 1 предпочтительнее

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32612266
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
 1 ) Вызывать EncCurrentEdit или EndEdit перед переходом к TAddress. Здесь мне надо посмотреть код DataBindings.Add вашего textbox (достаточно посмотреть код для klient_id)

1. Не совсем поняла где отыскать DataBindings.Add. В св-вах для полей есть DataBindings, а далее Text или Tag или Advanced...
2. EncCurrentEdit или EndEdit для какого объекта?
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32613454
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка все еще актуальна, очень надеюсь на вашу помощь
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32613579
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения если не ясно выразился
Пусть textbox отображающий klient_id называется: txtKlient_id

Тогда меня интересует следующий код, txtKlient_id.DataBindings.Add(bla-bla-bla)
Вот это bla-bla-bla меня и интересует.
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32614573
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Me.editklient_id.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.objDS_Prodavec_New, "TKlients.klient_id"))
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32614600
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте положить кнопку на форму, на ней следующий код:
Код: plaintext
1.
Me.BindingContext(Me.objDS_Prodavec_New, "TKlients").EndCurrentEdit()
Теперь перед тем как переходить к адресам, нажмите эту кнопку.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32614704
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделала, все нормально, ошибки теперь не возникает :)
Спасибо огромное :)
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32614994
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственное что, я пока не нашла на какое событие повесить этот обработчик, не очтавлю же его на кнопке.
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32615662
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственное что, я пока не нашла на какое событие повесить этот обработчик, не очтавлю же его на кнопке.

Скорее всего я бы оставил это на кнопке, например кнопка называлась бы "сохранить клиента", "подтвердить ввод" или подобным образом.
Пока пользователь не щелкнет по кнопке не давать ему править адреса. Рядом можно сделать кнопку "Отменить клиента" - где использовать CancelCurrentEdit()

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32616973
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в том, что пользователь должно быть все максимально удобно и понятно. А что следует из надписи на кнопке Сохранить клиента? То, что пользователь решит, что он еще не завершил ввод инфы по клиенту и перейдет к гриду, а только потом нажмет на кнопку.
Я думаю, что должно быть автоматически для клиента, что-то типа того что как только он кликает на грид срабатывает этот обработчик, только к сожалению на повесив его на клик грида, обработчик не сыграл должным образом и ошибка выдалась вновь.
Так что я пока ищу событие, на кот можно его повесить
...
Рейтинг: 0 / 0
Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
    #32617856
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irinka
Проблема в том, что пользователь должно быть все максимально удобно и понятно. А что следует из надписи на кнопке Сохранить клиента? То, что пользователь решит, что он еще не завершил ввод инфы по клиенту и перейдет к гриду, а только потом нажмет на кнопку.

Ну мы всегда можем заставить пользователя действовать как надо, например дизеблить грид пока пользователь не подтвердит или не отменит изменения. При нажатии на кнопку "Сохранить клиента" можно раздизебливать грид, переводить на него фокус, тем самым давая понять пользователю что требуется вводить данные по адресам
Тогда назвать эту кнопку в этом случае можно, например "Перейти к вводу адресов" и т.д. накрутить можем все что угодно
irinka
Я думаю, что должно быть автоматически для клиента, что-то типа того что как только он кликает на грид срабатывает этот обработчик, только к сожалению на повесив его на клик грида, обработчик не сыграл должным образом и ошибка выдалась вновь.
Так что я пока ищу событие, на кот можно его повесить

Вообще при EndCurrentEdit строка проверяются на валидность(при использования typed DataSet и не только), и в случае некоретности введенных данных, например одно из полей не может быть null, возникнет исключение, которое конечно можно каким либо образом отработать но в любом случае придется вернуться к данным по клиенту.
ИМХО логичнее показать ошибку сразу по месту ее возникновения, а не узнать о некоректности ввода клиента, находясь в адресах.
Все выше мои соображения, поэтому не берите в голову :-)

В простейшем же случае, если обходиться без кнопок "сохранить" и "отменить" вам может подойдет вызов EndCurrentEdit сразу после AddNew(). Пройдет это или нет зависит от наличия каких либо дополнительных ограничений у таблицы клиент.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пользователь не заполняет поле на форме (так как оно проставляется автоматически благодаря установленному св-ву в базе SQL Server)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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