现在,我知道如何将"SQL-Data“导入到工作表中。
但我不能将"SQL-Data“附加到现有的工作表中,因为它会随着时间的推移而增长。
//Pseudo Code
1. maxID <-- getMaxValueOutOfColumnId()
2. import via SQL --> "SELECT * FROM table WHERE ID > maxID"
3. append the result set as rows to the sheet maxID came from.我找到了关于导入东西的教程,但它们没有附加SQL-Data。
发布于 2017-05-18 15:42:25
对于未来的访问者,我会发布我想出的解决方案。
// In general
1. have a book with 2 sheets named test_data and data_import
2. put a click button on sheet data_import
3. open the buttons preferences and activate tab "programming"
4. write yourself some LabTalk code in the small code-field
/* 1. Step */
range ra = "test_data"!col(A);
int max_id = max(ra);
/* 2. Step */
string strSQL$="SELECT * FROM table WHERE id > ($(max_id))";
string strConn$="<CONNECTION STRING GOES HERE>";
dbEdit change conn:=strConn$ sql:=strSQL$;
dbImport;
dbEdit remove;
/* 3. Step */
range ra = "test_data"!; // sheet to extend with imported data
range rb = "data_import"!; // helper sheet as cache
wrcopy iw:=rb c1:=1 r1:=1 // append cached data on sheet test_data
ow:=ra dc1:=1 dr1:=ra.maxRows+1;
/* 4. Step - cleaning up */
int cols = rb.ncols; // number of columns
for(int ii = cols; ii > 0; ii -= 1) {
delete wcol($(ii)); // delete all columns form data_import
};
for(int ii = cols; ii > 0; ii -= 1) {
rb.addCol(); // append new columns
};https://stackoverflow.com/questions/43834409
复制相似问题