powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Несколько вопросов чайника
6 сообщений из 6, страница 1 из 1
Несколько вопросов чайника
    #33572461
khalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопросы относятся к VB.net (VS2005 SQL server 2005)
1. Имеется таблица, в ней поля: ID и Name. Заполнить свойство Items для ComboBox значениями поля Name несложно. Но в программе нужно получить ID, а не отображаемое в ComboBox знячения поля Name. Не могу найти, как это сделать, догадываюсь что должно быть просто. Не сохранять в таблицу, а просто получить значение ID.
2. В ADO.net программа оперирует с отсоединенным набором данных. Как в этом случае обеспечивать уникальность поля Id. В программе надо сгенерироавть значение для ID, но в объекте DataSet (локальном) только выборка из таблицы, следовательно, програмой можно создать ID уникальный только для этой выборки и при выгрузке в таблицу ID может оказатся совсем не уникальным. Думаю, что этот вопрос тоже должен решаться как-то не слишком сложно.

Заранее спасибо
...
Рейтинг: 0 / 0
Несколько вопросов чайника
    #33572542
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Используйте свойство .ItemData()
2. В Oracle для этого используются объекты Sequence. В MSSQL можно создать таблицу ключей. Таблица с тремя полями: TableName, KeyName, CurrValue. Читаем нужную запись (по имени таблицы и имени ключа), предварительно заблокировав берем значение, увеличиваем на 1, записываем обратно.
...
Рейтинг: 0 / 0
Несколько вопросов чайника
    #33572561
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По второму вопросу: в таких случаях лучше использовать GUID-ы в качестве ID. Они всегда уникальны, где бы вы их не сгенерили.
...
Рейтинг: 0 / 0
Несколько вопросов чайника
    #33572679
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По второму вопросу: в таких случаях лучше использовать GUID-ы в качестве ID. Они всегда уникальны, где бы вы их не сгенерили.С парой оговорок: 1) Если это (12-байтное) число - не проблема для среды в которой программируешь, и 2) если скорость работы запросов испльзующих такие числа в операторах Join не критична.
...
Рейтинг: 0 / 0
Несколько вопросов чайника
    #33575193
khalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
1.Что-то не вижу я такого свойства у своего комбобокса :(
2. Вариант с таблицей ключей мне кажется довольно неплохим. спасибо за мысль...
...
Рейтинг: 0 / 0
Несколько вопросов чайника
    #33575761
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не заметил что вы пишете на vb.net, ну надо же!
Да, там можно использовать GUID без проблем.
Я не пишу на vb.net, поэтому первое что мне приходит в голову может и не самый красивый вариант:
Код: plaintext
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.
   Public Class MyItem
      Public ID As Integer
      Public Value As String
      Public Sub New(ByVal ID_ As Integer, ByVal Value_ As String)
         ID = ID_
         Value = Value_
      End Sub

      Public Overrides Function ToString() As String
         ToString = Value
      End Function

   End Class

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      With ComboBox1.Items
         .Clear()
         .Add(New MyItem( 101 , "Сто Первый"))
         .Add(New MyItem( 2 , "Второй"))
      End With
   End Sub

   Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
      Dim mi As MyItem = ComboBox1.SelectedItem
      MessageBox.Show(mi.ID.ToString)
   End Sub
А лучше спросите на форуме VB.NET
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Несколько вопросов чайника
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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