Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Взаимодействие Форма-БД, ошибки 
:(
    Опции темы
Adanedel
Дата 22.9.2008, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



Добрый день, периодически приходится писать офисные приложения, например:
 добавление документа в базу на определенного пользователя который в этой базе записан под определенным идентификатором.

Задача следующая: считать из БД информацию о пользователях, выбрать в форме необходимогол и записать в другую таблицу БД информацию о добавленном документе.

Делаю следующим образом:
считываю с БД информацию о пользователях, допустим ID  и FIO в два комбобокса, ставлю на событие изменения FIO изменение ID т.е. SelectedIndex у ID  становится таким же как у FIO, после этого считываю текст из комбобокса ID для выяснения какому пользователю добавить документ и далее записываю в бд, пример кода VB2005: 

Код


    Private Sub addsert_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        query = "select * from fio order by fam"
        sql_zapros(query, True)
        While myDataReader.Read
            NameBox.Items.Add(myDataReader("fam"))
            IDCombo.Items.Add(myDataReader("ID"))
            CategoryCombo.Items.Add(myDataReader("fid"))
        End While
        myConn.Close()
    End Sub

    Private Sub NameBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NameBox.SelectedIndexChanged
        IDCombo.SelectedIndex = NameBox.SelectedIndex
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim newID As Integer
        If (IsDate(DM1Masked.Text) And IsDate(DM2Masked.Text)) Then
            If Not (NUmberBox.Text = "" Or IDCombo.Text = "" Or CategoryCombo.Text = "" Or KursIDCombo.Text = "") Then

                query = "select max(id) as maxid from sertificates"
                sql_zapros(query, True)
                While myDataReader.Read
                    newID = myDataReader("maxid")
                End While
                myConn.Close()

                newID = newID + 1
                query = "insert into sertificates values(" & newID & ",'" & NUmberBox.Text & "'," & IDCombo.Text & "," & CategoryCombo.Text & "," & KursIDCombo.Text & ",'" & DM1Masked.Text & "','" & DM2Masked.Text & "');"
                sql_zapros(query, False)
                myConn.Close()
                StatusLabel.Text = "Запись успешно добавлена!"
            Else
                MessageBox.Show("Не заполнено одно из полей!")
            End If
        Else
            MessageBox.Show("Неверно введена дата!")
        End If
    End Sub


sql_zapros функция запросов к БД аксес.

А теперь собственно проблема:
все работает прекрасно, но периодически возникают ситуации когда происходит допустим добавление документа не тому человеку или документ не добавляется вообще. в чем может быть проблема? 
или подскажите какие возможны более надежные способы работу с БД через Форму.
PM MAIL   Вверх
Adanedel
Дата 22.9.2008, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 14.1.2008

Репутация: нет
Всего: нет



случайно н в тот раздел кинул) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.