|
|
|
| Сумел-таки связать два Комбобокса через ХП:
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 | |
|
| |
|
|
|
|
но как связать значения из этих двух Combobox для получения значений в ещё одном через следующую ХП:
|
Только с помощью объекта SqlClient.SqlParameter
Вы почему-то упорно не хотите его применять. | |
|
| |
|
|
|
| Я буду его применять, кстати, благодарю за помощь. Сейчас всё постепенно начинает понемногу проясняться. | |
|
| |