OK @ErelPlease post the full output of calling Manager.PrintTable.
Tag: null, Columns: 12, Rows: 289
AA Code Description AlternativeDescription Inactive Address City PostalCode TelephoneNumber1 TelephoneNumber2 PersonOfCommunication TS
888 1101 Α ΑΘΗΝΩΝ null 0 Αναξαγόρα 6-8 ΑΘΗΝΑ 101 10 210- 52.72.775 210- 52.72.757 Αποστολοπούλου Αδαμ. [B@42c3020
888 1104 Δ ΑΘΗΝΩΝ (Δ,Η) null 0 Kωλέτη 14A ΑΘΗΝΑ 100 10 210- 38.35.638 null Βλάχου Μαγιούλα [B@163a6dd9
888 1105 Ε ΑΘΗΝΩΝ (Ε,Θ) null 0 Αριστογείτονος 19 ΑΘΗΝΑ 176 71 210- 95.78.710 210- 95.66.817 Αθανασάκη Κων/να [B@132f139e
888 1106 ΑΘΗΝΩΝ ΣΤ (ΣΤ, Ζ)(ΑΘΗΝΩΝ ΣΤ,Ζ,ΙΣΤ) null 0 Aγ. Eλεούσης 10 ΑΘΗΝΑ 105 54 210- 32.50.630 210- 32.15.422 Πλιώτας Γεώργιος [B@d39ae7f
888 1110 Ι ΑΘΗΝΩΝ null 0 Γʼ Σεπτεμβρίου 33 ΑΘΗΝΑ 104 32 210- 52.32.500 210- 52.37.447 Σαριδάκη Αλεξάνδρα [B@29f42e4c
888 1111 ΙΑ ΑΘΗΝΩΝ null 0 Aλκιβιάδου 1 ΑΘΗΝΑ 104 39 210- 88.33.677 null Φλώρος Νικόλαος [B@1ddb0e95
888 1112 ΙΒ΄ ΑΘΗΝΩΝ null 0 Γρ. Aυξεντίου 30-32 ΑΘΗΝΑ 157 71 210- 77.02.653 null Κασιάρα Αριάδνη [B@10f4cbaa
888 1113 ΑΘΗΝΩΝ ΙΓ (ΑΘΗΝΩΝ ΙΓ,ΙΘ,ΚΓ) null 0 Πατησίων 125 ΑΘΗΝΑ 112 51 210- 82.10.218 null Κηπαρίδου Μαρά [B@3dc4b39b
888 1114 ΙΔ ΑΘΗΝΩΝ null 0 Kουρτίδου 184 ΑΘΗΝΑ 111 43 210- 25.27.736 210- 25.25.394 Μπαγατέλα Ειρήνη [B@5be338
888 1115 ΑΘΗΝΩΝ Α (Α,Β,Γ)(ΑΘΗΝΩΝ ΙΕ,Α,Β,Γ,ΚΒ) null 0 Αναξαγόρα 6-8 ΑΘΗΝΑ 101 10 210- 52.72.775 210- 52.72.757 Αποστολοπούλου Αδαμ. [B@1baaff11
888 1116 ΑΘΗΝΩΝ ΣΤ (ΣΤ,Ζ)(ΑΘΗΝΩΝ ΙΣΤ,ΣΤ,Ζ) null 0 Aγ. Eλεούσης 10 ΑΘΗΝΑ 105 54 210- 32.50.630 210- 32.15.422 Πλιώτας Γεώργιος [B@39abf876
888 1117 ΙΖ ΑΘΗΝΩΝ null 0 Δαμάρεως 175 ΑΘΗΝΑ 116 32 210- 75.75.504 null Νεραντζάκη Σοφία [B@1530ee77
888 1118 ΜΕΓΑΛΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ null 0 Kηφισίας 32 MΑΡΟΥΣΙ 151 25 _ null _ [B@1587fae4
888 1124 ΑΘΗΝΩΝ ΙΖ (ΑΘΗΝΩΝ ΙΗ,ΙΖ) null 0 Δαμάρεως 175 ΑΘΗΝΑ 116 32 210- 75.75.504 null Νεραντζάκη Σοφία [B@9af7b4d
888 1125 ΚΑΤΟΙΚΩΝ ΕΞΩΤΕΡΙΚΟΥ null 0 Μετσόβου 4 ΑΘΗΝΑ 106 82 210- 82.04.626 210- 82.04.625 Τζωρτζόπουλος Ευστ. [B@1d72602
888 1126 ΑΘΗΝΩΝ ΙΓ (ΑΘΗΝΩΝ ΙΘ,ΙΓ,ΚΓ) null 0 Πατησίων 125 ΑΘΗΝΑ 112 51 210- 82.10.218 null Κηπαρίδου Μαρά [B@3dbbfb13
888 1129 ΑΓΙΟΥ ΔΗΜΗΤΡΙΟΥ null 0 Aργοστολίου 39 AΓ. ΔΗΜΗΤΡΙΟΣ 173 42 210- 98.34.958 null Ματσιας Σπ. [B@133be150
888 1130 ΚΑΛΛΙΘΕΑΣ null 0 Eλ. Bενιζέλου 195 ΚΑΛΛΙΘΕΑ 176 73 210- 95.62.108 null Κοντού Μαρκέλλα [B@3057f49
888 1131 ΝΕΑΣ ΙΩΝΙΑΣ null 0 Eλ. Bενιζέλου 1 Ν.ΙΩΝΙΑ 142 31 210- 27.94.525 null Τσιτζόγλου Ιουλία [B@3195a04e
888 1132 ΝΕΑΣ ΣΜΥΡΝΗΣ null 0 Λ. Συγγρού 251 Ν.ΣΜΥΡΝΗ 171 22 210- 94.08.809 null Μπίρμπα Βασιλική [B@3de1356f
888 1133 ΠΑΛΑΙΟΥ ΦΑΛΗΡΟΥ null 0 Aλκυόνης 19 ΠΑΛ. ΦΑΛΗΡΟ 175 61 210- 98.22.549 null Χατζηαργυροπούλου Β. [B@3a05c27c
888 1134 ΧΑΛΑΝΔΡΙΟΥ null 0 Aισχύλου 27 ΧΑΛΑΝΔΡΙ 152 34 210- 68.49.435 210- 68.50.140 Γελαδάρη Δήμητρα [B@1d9dc705
888 1135 ΑΜΑΡΟΥΣΙΟΥ null 0 Πλαταιών 57 & Aγ. Kων/νου MΑΡΟΥΣΙ 151 24 210- 61.22.335 210- 80.56.010 Μενδρινός Κλήμης [B@21af735a
888 1136 ΑΓΙΩΝ ΑΝΑΡΓΥΡΩΝ null 0 Πριγκ.Ολγας 3 & Λ.Δημοκρ. ΑΓ. ΑΝΑΡΓΥΡΟΙ 135 10 210- 26.48.637 210- 26.48.644 Κοντου Γεωργία [B@1e75b98b
888 1137 ΑΙΓΑΛΕΩ null 0 Κηφισού 44 & Αλατσάτων 93 AΙΓΑΛΕΩ 122 41 210- 56.16.866 210- 56.16.867 Τελώνη Αθηνά [B@232a8a68
888 1138 Α΄ ΠΕΡΙΣΤΕΡΙΟΥ null 0 ΤζωνΚένεντυ 146&Αιγαίου 31 ΠΕΡΙΣΤΕΡΙ 121 36 210- 57.76.500 210- 57.11.397 Σερπάνος Θεόδ. [B@23b8ce81
888 1139 ΓΛΥΦΑΔΑΣ null 0 Γούναρη 227 ΓΛΥΦΑΔΑ 166 74 210- 91.18.853 210- 91.18.855 Μακρή Σπυριδούλα [B@3d616b26
888 1140 Κ ΑΘΗΝΩΝ null 0 Λ. Γαλατσίου & Παλαμά 2-4 ΑΘΗΝΑ 111 10 210- 21.11.108 210- 21.11.185 Μπαρδή Αννα [B@16846367
888 1141 ΨΥΧΙΚΟΥ (ΚΑ ΑΘΗΝΩΝ,ΨΥΧΙΚΟΥ) null 0 Κηφισίας 160 ΨΥΧΙΚΟ 154 10 210- 67.52.259 null Βλασσοπούλου Αικατ. [B@3551e514
888 1142 ΑΘΗΝΩΝ Α (Α,Β,Γ)(ΑΘΗΝΩΝ ΚΒ,Α,Β,Γ,ΙΕ) null 0 Αναξαγόρα 6-8 ΑΘΗΝΑ 101 10 210- 52.72.775 210- 52.72.757 Αποστολοπούλου Αδαμ. [B@2922d1bd
888 1143 ΑΘΗΝΩΝ ΙΓ (ΑΘΗΝΩΝ ΚΓ,ΙΓ,ΙΘ) null 0 Πατησίων 125 ΑΘΗΝΑ 112 51 210- 82.10.218 null Κηπαρίδου Μαρά [B@14e913b2
888 1144 ΑΓΙΟΥ ΔΗΜΗΤΡΙΟΥ (ΔΑΦΝΗΣ,ΑΓΙΟΥ ΔΗΜΗΤΡΙΟΥ) null 0 Aργοστολίου 39 AΓ. ΔΗΜΗΤΡΙΟΣ 173 42 210- 98.34.958 null Ματσιας Σπ. [B@18e9cf03
888 1145 Ν.ΗΡΑΚΛΕΙΟΥ null 0 Λ.Ηρακλείου 420 Ν.ΗΡΑΚΛΕΙΟ 141 22 210- 28.27.303 null Κάππα Ιωάννα [B@37f23e80
888 1151 ΧΟΛΑΡΓΟΥ null 0 Δ. Γούναρη 38A ΑΓ. ΠΑΡΑΣΚΕΥΗ 153 10 210- 63.95.678 null Μπασετας Γεώργιος [B@382fccb9
888 1152 ΒΥΡΩΝΟΣ null 0 Aδριανουπόλεως 45 ΚΑΙΣΑΡΙΑΝΗ 161 21 210- 76.42.500 210- 76.58.240 Τσεκούρα Σταματία [B@cd0b8fe
888 1153 ΚΗΦΙΣΙΑΣ null 0 Αχαρνών 43 ΚΗΦΙΣΙΑ 145 61 210- 80.84.363 210- 80.11.374 Μπαστούνης Κων/νος [B@1fb0585f
888 1154 ΑΓΙΩΝ ΑΝΑΡΓΥΡΩΝ (ΙΛΙΟΥ,ΑΓΙΩΝ ΑΝΑΡΓΥΡΩΝ,ΑΝΩ ΛΙΟΣΙΩΝ) null 0 Πριγκ.Ολγας 3 & Λ.Δημοκρ. ΑΓ. ΑΝΑΡΓΥΡΟΙ 135 10 210- 26.48.637 210- 26.48.644 Κοντου Γεωργία [B@317cc2ac
888 1155 Ν.ΦΙΛΑΔΕΛΦΕΙΑΣ null 0 Λ. Δεκελείας 231 Ν.ΦΙΛΑΔΕΛΦΕΙΑ 143 42 210- 27.19.804 210- 27.71.862 Μουστακάτου Αικατ. [B@12777b75
Maybe because this:
timestamp is the synonym for the rowversion data type and is subject to the behavior of data type synonyms. In DDL statements, use rowversion instead of timestamp wherever possible.
The Transact-SQL timestamp data type is different from the timestamp data type defined in the ISO standard.
Documentation:
+1 - liked!
To the OP:
I would quite much just ignore the columns. And the term "timestamp" is one of those epic bad data columns. To be fair, the term row version is starting to be used, but in the SQL table designers - it still uses and has the name timestamp. It should be noted that this column has ZERO to do with time, and YOUR code should NEVER attempt to set nor modify this column. Turns out that .net and especially MS-Access will use this column to detect if the row has been changed. thus under all cases you the developer will NEVER modify or mess with this column, nor should your code care about this value. A datetime column is however a different matter.
I am close to coding a sqlite to sql server sync routine. I not written the code, and at the napkin stage. But, right now, I may well copy the columns to android/sqlite, but for update code, I will "ignore" such columns, or I going to leave them out of the sqlite schema.
However, since the code I plan to write will be "generic" then on the sqlite side, I'll just give the data type a data type name that can be ignored. So me also will have to solve this issue soon. So far plans are to ignore the column and not bother. You can/could create a few sql server views that don't include this column if in fact your going to write code that is generic and will operate on the fields/column collection (but much caution since your B4A code cannot ask sql server which column in a view is the PK - but you can (and I often do) with B4A "ask" sql server to give me the PK column of the given table.
.As noted, even if you use a view and don't update/touch the rowversion column (aka: timestamp column), it is NOT to be touched or updated by you, or even any t-sql code. It is automatic updated and maintained by sql server to allow software to detect if the row has become dirty or changed by another process. It is of no concern or value to you.
Best bet? Don't pull or even add/have these columns in the sqlite database. The values will change if you update the sql server table.
Having written the above?? - thinking out loud? I going to ignore the columns, and not even include them in the sql lite database. Given that your general or even specific code will NEVER touch or update such columns? Well, then might as well ignore them 100%
Regards,
Albert D. Kallal
Edmonton, Alberta, Canada
The point is as you say @Albert Kallal , I try to make a sync routine but I need to know when a record change.
The rownumber is the only field I have to know if something change.
And about speed? All that continuous checking doesn't make the code slow?I have a mechanism that seems to work. I may be missing the point as it looks like you're trying to do something a bit more generic at a lower level, but in case it helps:
I sync SQLite on thousands of Tablets and Raspberry Pi's with each other, via a single SQL Server instance via HTTP. I have a LastEdit column in each SQLite table. For upload the trick is to run the EditedRows query and send the results (in a JSON), along with the DateTime.now value at the point the query was run. The server does the update and acknowledges Success by returning the DateTime.Now value that it received. The Tablet store this in a Parameters table as the "LastSynced" value, which is used to compare with LastEdit next time you run Sync. This avoids any issues with Tablet and Server time being out of sync. There are a few other elements to catch if things have gone wrong, like including a RowCount and if that doesn't match then doing a PK Comparison and Delete/Fetch any Extra/Missing records as appropriate. For downloads, the Tablet stores the Servers clock time in the same way. The table structures are defined with a Map of ColumName -> Type, plus a List if PKColumns. This helps to parameterise the Subs with just a TableName.
I have a LastEdit column in each SQLite table.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?