Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 120
1

Уникальное число строки в DataGridView при выборке постоянно увеличивается, при этом в базе все нормально

15.02.2016, 16:59. Показов 546. Ответов 9
Метки нет (Все метки)

Уникальное число строки в DataGridView при выборке постоянно увеличивается, при этом в базе все нормально


чо за такое?

код выборки:
VB.NET
1
2
3
4
5
6
     
 SqlConnection1.Open()
        SqlDataAdapter1.SelectCommand.CommandText = ("SELECT rabotniki.ФИО, rabotniki.Дата_рождения, rabotniki.Возраст, rabotniki.Дата_принятия_на_работу, rabotniki.Стаж_работы_на_данном_предприятии, rabotniki.DolzhnostID, dolzhnosti.Наименование_должности, dolzhnosti.Оклад, ceh.Наименование_цеха FROM rabotniki INNER JOIN dolzhnosti ON rabotniki.DolzhnostID = dolzhnosti.DolzhnostID INNER JOIN ceh ON rabotniki.CehID = ceh.CehID WHERE dbo.ceh.[Наименование_цеха] LIKE '%" + ComboBox1.Text + "%'")
        SqlConnection1.Close()
        DataSet11.Clear()
        SqlDataAdapter1.Fill(DataSet11)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2016, 16:59
Ответы с готовыми решениями:

Изображение на мониторе отсутствует, при этом спикер пищит,что все нормально
Приветствую. Такая проблема. Есть материнская плата asus z97-ar. Собрал компьютер - при включении...

При выборке из двух таблиц выводятся все строки
Здравствуйте. Не могу разодраться с одним вопросом. Допустим у нас есть 2 таблицы: boy boy_id |...

При нажатии кнопки переменная увеличивается на 1, при зажатии каждую секунду увеличивается на 1
Подскажите пожалуйста, как лучше реализовать: На экране есть кнопка. При нажатии переменная...

ПК подвисает раз в 15 минут, при этом увеличивается скорость вращение кулера
проблема такая во время работы пк раз в 15 мин виснет(лагает сильно), вентилятор издаёт...

9
305 / 246 / 40
Регистрация: 28.09.2013
Сообщений: 597
15.02.2016, 18:09 2
А как вы заполняете грид?
0
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 120
15.02.2016, 18:16  [ТС] 3
Winney,
создаю sqldataadapter, из него делаю dataset, прикрепляю dataset к гриду и в форм лоад пишу это
T-SQL
1
2
DataSet11.Clear()
SqlDataAdapter1.Fill(DataSet11)
0
305 / 246 / 40
Регистрация: 28.09.2013
Сообщений: 597
15.02.2016, 18:32 4
а дата-сет привязан к гриду?

Добавлено через 51 секунду
Цитата Сообщение от SKY_NET Посмотреть сообщение
прикрепляю dataset к гриду
пирдон, невнимательность)

Добавлено через 4 минуты
я подхожу к заполнению гридов следующим образом:

1. Создаю класс, описывающий некий объект (объекты)
2. пишу примерно такую штуку (пример из проги):

VB.NET
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
30
31
32
33
34
35
36
    Public Shared Function ReturnAsArray(connection As String, eq_code As EquipmentClass) As Array
        '
        Dim MyConnection As New SqlConnection(connection)
        Dim cmd_str As New SqlCommand("SELECT grp_id FROM Group_Parts WHERE grp_eq_link=@link ORDER BY grp_name", MyConnection)
        cmd_str.Parameters.AddWithValue("@link", eq_code.EquipmentCode)
        '
        Dim GRP_DA As SqlDataAdapter = New SqlDataAdapter(cmd_str)
        Dim GRP_DS As New DataSet
        '
        Try
            MyConnection.Open()
            '
            GRP_DA.FillSchema(GRP_DS, SchemaType.Source, "GRPS")
            GRP_DA.Fill(GRP_DS, "GRPS")
            '
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        Finally
            MyConnection.Close()
        End Try
        '
        If GRP_DS.Tables("GRPS").Rows.Count < 1 Then
            'Dim msg_str As String = "Невозможно создать массив - отсутствуют данные для формирования объектов."
            'MsgBox(msg_str, MsgBoxStyle.Critical)
            Return Nothing
        End If
        '
        Dim groups(GRP_DS.Tables("GRPS").Rows.Count - 1) As PartsGroupClass
        '
        For i As Integer = 0 To GRP_DS.Tables("GRPS").Rows.Count - 1
' трансформируем строки в массив объектов
            groups(i) = New PartsGroupClass(MyConnection.ConnectionString, CInt(GRP_DS.Tables("GRPS").Rows(i).Item(0)))
        Next
        '
        Return groups
    End Function
Добавлено через 47 секунд
3. В процедуре заполнения грида расписываю, куда какое поле объекта запихнуть.
0
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 120
15.02.2016, 18:34  [ТС] 5
Winney, так вот дело в том что я уже 20 программ с различными базами сделал, но не с sql server а с access и вот там всё норм, а тут такое твориться, то не перезгаружаются данные в грид, то вот такая фигня с ключами. мне курсач и диплом делать а я не пойму в чем проблема блин!
0
305 / 246 / 40
Регистрация: 28.09.2013
Сообщений: 597
15.02.2016, 18:51 6
не доверяйте полностью связыванию с БД студии.

Добавлено через 10 минут
Из подозрительного.

А куда у вас ИД цеха пропадает?

Добавлено через 20 секунд
При первом запросе есть, а дальше нема

Добавлено через 2 минуты
Думаю дело в тексте запроса.
М... и зачем в текстовом виде название цеха передавать???

Добавлено через 18 секунд
У него ИД же есть
0
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 120
15.02.2016, 18:54  [ТС] 7
Winney,
вот как выглядит таблица работники, здесь в поля должностьИД и цехИД пишутся ИД должности и цеха, а потом выборкой все выводится
Изображения
 
0
305 / 246 / 40
Регистрация: 28.09.2013
Сообщений: 597
15.02.2016, 19:07 8
а как выглядит запрос, которой выполняется при нажатии на батон? ну, когда все правильно (id от 1 до 3)
0
1 / 1 / 1
Регистрация: 06.10.2013
Сообщений: 120
15.02.2016, 19:20  [ТС] 9
Winney, Winney,
T-SQL
1
2
3
4
5
6
     
 SqlConnection1.Open()
        SqlDataAdapter1.SelectCommand.CommandText = ("SELECT rabotniki.ФИО, rabotniki.Дата_рождения, rabotniki.Возраст, rabotniki.Дата_принятия_на_работу, rabotniki.Стаж_работы_на_данном_предприятии, rabotniki.DolzhnostID, dolzhnosti.Наименование_должности, dolzhnosti.Оклад, ceh.Наименование_цеха FROM rabotniki INNER JOIN dolzhnosti ON rabotniki.DolzhnostID = dolzhnosti.DolzhnostID INNER JOIN ceh ON rabotniki.CehID = ceh.CehID")
        SqlConnection1.Close()
        DataSet11.Clear()
        SqlDataAdapter1.Fill(DataSet11)
0
305 / 246 / 40
Регистрация: 28.09.2013
Сообщений: 597
15.02.2016, 19:47 10
Не имея под рукой сиквела мне тяжко что то рекомендовать, но пяткой чую дело в запросе.

Попробуйте для начала создать представление с INNER JOIN и параметром отбора, протестируйте.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2016, 19:47

Как перебрать все строки ListView в цикле, если при этом некоторые строки удаляются?
cnt = lv.ListItems.Count For i = 1 To cnt If lv.ListItems.Item(i).Selected Then ...

Как увеличить DataGridView при максимизации формы но при этом не затрагивая другие элементы на форме?
Как увеличить DataGridView при максимизации формы но при этом не затрагивая другие элементы на...

Заполнение datagridview при выборке из БД по данным из ComboBox
Подскажите пожалуйста)) У меня есть база на SQL 2008 и приложение на VBasic 2010. Мне нужно выбирая...

Составное текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все цифры, входящие в него
Составное текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при...

Вывести строки в центре экрана,удалив при этом все пробелы
Заполните экран розовым цветом.ввести строку с клавиатуры.Вывести строки в центре экрана,удалив при...

Подставить данные из combobox в DatagridView при создании новой записи в этом DatagridView
Здравствуйте! Возможно я плохо искал, но я искал ответ или наводку на решение. Подскажите...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.