Хобрук: Ваш путь к мастерству в программировании

Как заполнить ComboBox в VB6 из набора записей SQL?

Я пытаюсь заполнить ComboBox в VB6, используя набор записей, который я извлек из SQL. Я написал хранимую процедуру на SQL, которая возвращает набор записей, который выглядит следующим образом:

Набор записей:

введите здесь описание изображения

Я написал функцию на VB6, которая присваивает этот RecordSet переменной: rsRetData. В моей пользовательской форме у меня есть ComboBox с именем cboxRejectReasons. Я хочу, чтобы все Descriptions из набора записей были перечислены в раскрывающемся списке И чтобы связанные SelectCode все еще были прикреплены к Description.

Вот код хранимой процедуры (извините, форматирование почему-то перепуталось):

    ALTER PROCEDURE [dbo].[uspTheoLossGetRejectCodes]
    -- Add the parameters for the stored procedure here

AS
BEGIN
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    SELECT SelectCode, Description, MeltLineEnabled
    FROM   tblSelectCodes
    WHERE  (LanguageID = 1) AND (SelectCode >= 100) AND (MeltLineEnabled = 1) 
    ORDER BY Description

    SET NOCOUNT OFF;
END

Вот функция VB6, которая присваивает RecordSet переменной rsRetData:

Public Function TheoLossCalcRejectError()
Dim lErrorCode          As EBOD_ComponentErrorCodes
Dim sErrorDescription   As String
Dim objStoredProc       As StoredProcedure.IStoredProcedure


Set objStoredProc = CreateObject("StoredProcedure.IStoredProcedure")
With objStoredProc
    .NewStoredProcedure

    If .Open_Connection(lErrorCode, sErrorDescription) Then
    Set rsRetData = .ExecuteReturnRecordset(USPPARNAME_GETREJECTCODES, lErrorCode, sErrorDescription)
    End If
    .Close_Connection
End With
Set objStoredProc = Nothing

End Function

Функция выполняется правильно, и набор записей назначается правильно.

Как я могу это сделать?

28.09.2016

  • Вы бы посмотрели на настройку источника данных вашего поля со списком для набора записей. 28.09.2016
  • Я пробовал это в свойствах ComboBox, но это не сработало. 28.09.2016
  • Можете ли вы объяснить, что это не сработало? Вы получили сообщение об ошибке? Вы должны предоставить детали, чтобы мы могли помочь. 28.09.2016
  • Демонстрация вашего кода позволяет нам предлагать вещи, которые могут вызывать проблемы, и избавляет нас от необходимости догадываться, как вы сейчас это делаете. 29.09.2016
  • Шон, я установил rsRetData в качестве источника данных в свойствах cboxRejectReasons. Форма работает без ошибок, но выпадающий список пуст. 29.09.2016
  • Если вы подключили источник данных, а поле со списком остается пустым, значит, в наборе данных нет строк. (Ваша хранимая процедура неполная, так как она не принимает параметры, как вы разместили ее здесь, но вы передаете параметры, которые, по-видимому, не используются.) И вместо того, чтобы извиняться за плохое форматирование, исправьте это. :-) Выделите весь код и нажмите Ctrl+K на клавиатуре или нажмите кнопку на панели инструментов с изображением, которое выглядит как {}, или отступ каждой строки не менее чем на 4 пробела. Вы можете просмотреть его в режиме реального времени по мере форматирования, посмотрев чуть ниже того места, где вы вводите текст. 29.09.2016
  • Возможный дубликат Добавление текста и значения идентификатора в поле со списком VB6 29.09.2016

Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

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

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..