2014-09-08 2 views
0

Я ищу разработать модуль для отображения данных из внешней базы данных в онлайн-контакты Kentico. Есть ли простой способ перечислить имена полей и подписи для всех стандартных и настраиваемых полей из встроенного класса OM.Contact?Список полей контактов Kentico

ответ

0

Получение данных из внешних БД

Есть куча способов, чтобы получить данные из базы данных и поместить его в памяти. Вот один универсальный скрипт, который я использую совсем немного:

//Set the connection string 
    string ConnectionString = externalDBConnectionString; 

    //Sets the text of the query we want to execute on the database to a variable called queryText 
    string queryText = "SELECT * FROM Table"; 

    //Creates a new instance of the SqlDataAdapter object and calls it "adapter". 
    //We pass in the text of the query we want to execute on the database, and the connetion string to the database. 
    SqlDataAdapter adapter = new SqlDataAdapter(queryText, ConnectionString); 

    //Instantiate a dataset. 
    DataSet ds = new DataSet(); 

    //Fills the dataset with the data retrieved by our query on the database. 
    adapter.Fill(ds); 

Получение данных из Kentico

Получение данных из Kentico даже проще. Kentico имеет API, который использует объекты Info, которые представляют собой простые структуры данных, и объекты InfoProvider, которые содержат (среди прочего) методы для заполнения Info-объектов данными и выполнения операций CRUD в базе данных Kentico.

Они работают так:

// Instantiate a ContactInfo object 
    ContactInfo ci = new ContactInfo(); 

    // Populate it with data using the InfoProvider's GetContactInfo() method 
    ci = new ContactInfoProvider.GetContactInfo(ContactID); 

    // Shorthand 
    ContactInfo ci = new ContactInfoProvider.GetContactInfo(ContactID); 

    // Assign values to your server control properties using the properties of the Info object 
    txtFormField.Text = ci.ContactName; 

Перемещение данных туда и обратно из вашей внешней БД и Kentico БД может потребовать от вас карты полей и их соответствующих типов данных друг с другом, то выполнение запрос по БД с форматированными данными.

+0

Мне действительно нужно заполнить список полей контакта в коде и сохранить их в коллекции для обработки. Я хочу иметь возможность динамически определять список полей контакта. – emroc

+0

Ах, я вас неправильно понял. Вероятно, вы захотите использовать объекты ContactInfo и ContactInfoProvider. Сегодня вечером я обновлю свой ответ, чтобы показать вам, как запускать операции CRUD в базе данных Kentico с объектами InfoProvider. Все, что вы делаете, - это заполнить набор данных данными из вашей внешней БД, вставить его в объект InfoObject, а затем создать/обновить с помощью объекта InfoProdiver. В то же время вы можете ознакомиться с этим руководством от Kentico (начало на стр. 184). Это версия 6, но классы, вероятно, не сильно изменились: http://devnet.kentico.com/docs/6_0/KenticoCMS_OnlineMarketingGuide.pdf – Jerreck

+0

О, и вы можете использовать данные, которые вы передаете в объект ContactInfo, чтобы заполнить ваши поля формы. Если вы заполняете объект Info данными из вашей внешней БД или Kentico, это не имеет значения. – Jerreck

Смежные вопросы