Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: связь трёх и более Combobox
 
 автор: Едрёныч   (12.04.2010 в 14:39)   личное сообщение
 
 

Сумел-таки связать два Комбобокса через ХП:
Combobox1, создал ХП

ALTER PROCEDURE SP_ContactName_CustomerID

AS
SELECT ContactName, CustomerID
FROM Customers
/* SET NOCOUNT ON */
RETURN

привязал

Imports System.Data
Imports System.Data.SqlClient
Imports System.Text
Imports System.Text.RegularExpressions
Public Class frmCombobox

Private Sub frmCombobox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "ComboDataSet.SP_ContactName_CustomerID". При необходимости она может быть перемещена или удалена.
Me.SP_ContactName_CustomerIDTableAdapter.Fill(Me.ComboDataSet.SP_ContactName_CustomerID)
'Me.SP_ContactName_CustomerIDTableAdapter.Fill(Me.
Using conn As New SqlConnection(My.Settings.NorthwindConnectionString)
Dim sqlStr1 As String = "SP_ContactName_CustomerID"
Dim SqlComm As New SqlCommand(sqlStr1, conn)
Dim sqlDA As New SqlDataAdapter(SqlComm)
Dim CustomerDS As New DataSet
SqlComm.CommandType = CommandType.StoredProcedure
Try
sqlDA.Fill(CustomerDS)

Catch ex As Exception

End Try
With ComboBox1
.DataSource = CustomerDS.Tables(0)
.DisplayMember = "ContactName"
.ValueMember = "CustomerID"
End With

End Using
End Sub
получаю в нём имена

для второго Combobox2
создал ХП

ALTER PROCEDURE sp_CustomerID_EmploeeID
@CustomerID nchar(5)
AS

SELECT CustomerID, EmployeeID
FROM Orders
WHERE (CustomerID = @CustomerID)
RETURN

привязал:

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim OrdersTableAdapter As New ComboDataSetTableAdapters.sp_CustomerID_EmploeeIDTableAdapter()
Dim typedDS As New ComboDataSet()
Try
OrdersTableAdapter.Fill(typedDS.sp_CustomerID_EmploeeID, CStr(ComboBox1.SelectedValue))

Catch ex As Exception

End Try
With ComboBox2
.DataSource = typedDS.sp_CustomerID_EmploeeID
.DisplayMember = "EmploeeID"
.ValueMember = "CustomerID"


End With
End Sub
сразу получаю соответствующий CustomerID в Combobox2

Все ХП и таблицы добавлены в новый DATASET ComboDataSet.
И вроде всё нормально, но как связать значения из этих двух Combobox для получения значений в ещё одном через следующую ХП:
ALTER PROCEDURE sp_shipname
@CustomerID nchar(5), @EmploeeID int

AS
SELECT ShipName, CustomerID, EmployeeID
FROM Orders
WHERE (CustomerID = @CustomerID) AND (EmployeeID = @EmploeeID)


RETURN

  Ответить  
 
 автор: Мюллер   (14.04.2010 в 12:12)   личное сообщение
 
 


но как связать значения из этих двух Combobox для получения значений в ещё одном через следующую ХП:


Только с помощью объекта SqlClient.SqlParameter
Вы почему-то упорно не хотите его применять.

  Ответить  
 
 автор: Едрёныч   (14.04.2010 в 16:26)   личное сообщение
 
 

Я буду его применять, кстати, благодарю за помощь. Сейчас всё постепенно начинает понемногу проясняться.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList