我正在寻求开发一个模块,用于将数据从外部数据库映射到Kentico在线营销联系人。是否有一种简单的方法可以列出内置OM.Contact类中所有标准和自定义字段的字段名称和字幕?
答案 0 :(得分: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有一个使用Info对象的API,它只是简单的数据结构和InfoProvider对象,它们包含(以及其他)用于使用数据填充Info对象并在Kentico DB上执行CRUD操作的方法。
他们的工作方式如下:
// 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数据库来回移动数据需要您将字段及其各自的数据类型相互映射,然后使用格式化数据在DB上执行查询。