<< Click to Display Table of Contents >>

Navigation:  Program use > Configuration > DDE settings > Step-by-step instructions > Writing DDE to MSSQL >

Writing several DDE items to separate columns

If you need to not only log the changes of the DDE item values in the MSSQL database but also analyze and process them after that, it will be more convenient to create a table where there will be a separate column for every item. This method can be applied if there are not many DDE items.

 

CREATE TABLE [dbo].[dde_data_2](

   [REC_ID] [int] IDENTITY(1,1) NOT NULL,

   [TIMESTAMP] [datetime] NULL,

   [ITEM1] [nchar](30) NULL,

   [ITEM2] [nchar](30) NULL

ON [PRIMARY]

 

ITEM1 - will store the value of item 1;

ITEM2 - will store the value of item 2;

TIMESTAMP - will contain the date and time when the value was modified.

 

1. Create a new user in the database or give the permissions to write and read data from the created table to an existing user.

 

2. Create a group of DDE items in the program (fig. 1) with the properties shown in the picture.

 

dde-to-mssq2-2

Fig. 1 Group properties

 

3. Add the necessary items to the group.

 

dde-to-mssql1-1

Fig. 2 Item list

 

4. Click OK. Data like that should appear in the main window of the program:

 

dde-to-mssql2-3

Fig. 3 Data

 

Every line contains the value of all items and the additional "UPDATE_DATE_TIME" item with the timestamp.

 

Steps 5-7 are similar to those from the previous example "Writing many DDE items."

 

8. Binding (fig. 4) is slightly different from that in the previous example because the table contains a different set of columns.

 

dde-to-mssql2-8

Fig. 4 Configuring the data export plug-in. Binding.

 

Click "OK" to save the changes.

 

9. Check the status bar to make sure the data is being successfully processed (fig. 5).

 

dde-to-mssql2-9

Fig. 5 A message about data being successfully written

 

dde-to-mssql2-10

Fig. 6 Data in an MS SQL 2008 database

 

The first line contains a question mark in the "ITEM2" column. It is the default value specified in "Binding." It was used because the value of ITEM1 was received at the moment when a connection to the server was established, while the value of ITEM2 was not received yet. That is why an empty value was exported and it was replaced with the default.