From 49060a84195d8a9870a7e520e57b6358f7f29775 Mon Sep 17 00:00:00 2001 From: QuentinPerret Date: Fri, 2 Jun 2023 12:48:29 +0200 Subject: [PATCH] create and insert ok --- .vscode/launch.json | 7 --- .vscode/settings.json | 26 -------- .vscode/tasks.json | 20 ------ Code-C/.vscode/settings.json | 5 -- Db-Script/database.c | 116 ++++++++++++++++++++++++++++++++--- Db-Script/db | Bin 17240 -> 17632 bytes Db-Script/robotgowest.db | Bin 24576 -> 20480 bytes 7 files changed, 107 insertions(+), 67 deletions(-) delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json delete mode 100644 .vscode/tasks.json delete mode 100644 Code-C/.vscode/settings.json diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 5c7247b..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index a2b1fd0..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "C_Cpp.errorSquiggles": "Disabled", - "files.associations": { - "time.h": "c", - "b2hd.h": "c", - "main.h": "c", - "stdio.h": "c", - "string.h": "c", - "initialparameters.h": "c", - "filegestion.h": "c", - "power.h": "c", - "getarray.h": "c", - "math.h": "c", - "limits": "c", - "*.tcc": "c", - "type_traits": "c", - "simulateflux.h": "c", - "pthread.h": "c", - "types.h": "c", - "average.h": "c", - "queue.h": "c", - "growthrate.h": "c", - "stdbool.h": "c" - }, - "cmake.configureOnOpen": false -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 3418e6a..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "tasks": [ - { - "type": "cppbuild", - "label": "C/C++: gcc.exe build active file", - "command": "C:/msys64/mingw64/bin/gcc.exe", - "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}"], - "options": { - "cwd": "${fileDirname}" - }, - "problemMatcher": ["$gcc"], - "group": { - "kind": "build", - "isDefault": true - }, - "detail": "compiler: C:/msys64/mingw64/bin/gcc.exe" - } - ], - "version": "2.0.0" -} \ No newline at end of file diff --git a/Code-C/.vscode/settings.json b/Code-C/.vscode/settings.json deleted file mode 100644 index c70a9f1..0000000 --- a/Code-C/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "files.associations": { - "power.h": "c" - } -} \ No newline at end of file diff --git a/Db-Script/database.c b/Db-Script/database.c index 25f1854..379f013 100644 --- a/Db-Script/database.c +++ b/Db-Script/database.c @@ -40,6 +40,19 @@ int initializeCaptorMetadataTable() sqlite3_close(db); } +char *generateDataTableName(int trialId, int captorNumber) +{ + + char *tableName; + tableName = (char *)malloc(8 * sizeof(char)); + strcpy(tableName, "T"); + strcat(tableName, convertIntegerToChar(trialId)); + strcat(tableName, "C"); + strcat(tableName, convertIntegerToChar(captorNumber)); + strcat(tableName, "Data"); + return tableName; +} + int createCaptorDataTable(int trialId, int captorNumber) { sqlite3 *db; @@ -48,12 +61,7 @@ int createCaptorDataTable(int trialId, int captorNumber) sqlite3_stmt *stmt; // Create Table Name - char tableName[8]; - strcpy(tableName, "T"); - strcat(tableName, convertIntegerToChar(trialId)); - strcat(tableName, "C"); - strcat(tableName, convertIntegerToChar(captorNumber)); - strcat(tableName, "Data"); + char *tableName = generateDataTableName(trialId, captorNumber); rc = sqlite3_open("robotgowest.db", &db); if (rc != SQLITE_OK) @@ -107,12 +115,102 @@ char *convertIntegerToChar(int N) return (char *)arr; } +int insertTrailElement(char *position, int start, double frequency, int duration) +{ + + sqlite3 *db; + sqlite3_stmt *stmt; + + char *err_msg; + int rc; + int idx; + + rc = sqlite3_open("robotgowest.db", &db); + + rc = sqlite3_prepare_v2(db, "INSERT INTO Trials(Position,Start,Frequency,Duration) VALUES ( :position , :start , :frequency , :duration )", -1, &stmt, NULL); + if (rc != SQLITE_OK) + return 1; + + sqlite3_bind_text(stmt, 1, position, -1, SQLITE_STATIC); + + sqlite3_bind_int(stmt, 2, start); + + sqlite3_bind_double(stmt, 3, frequency); + + sqlite3_bind_int(stmt, 4, duration); + + rc = sqlite3_step(stmt); + rc = sqlite3_finalize(stmt); + sqlite3_close(db); +} + +int insertCaptorMetadataElement(int captorNumber, int trialId) +{ + + sqlite3 *db; + sqlite3_stmt *stmt; + + char *err_msg; + int rc; + int idx; + + rc = sqlite3_open("robotgowest.db", &db); + + rc = sqlite3_prepare_v2(db, "INSERT INTO CaptorMetadata(CaptorNumber,TrialId) VALUES ( :captorNumber , :trialId)", -1, &stmt, NULL); + if (rc != SQLITE_OK) + return 1; + + sqlite3_bind_int(stmt, 1, captorNumber); + + sqlite3_bind_int(stmt, 2, trialId); + + rc = sqlite3_step(stmt); + rc = sqlite3_finalize(stmt); + sqlite3_close(db); +} + +int insertCaptorDataElement(int trialId, int captorNumber, double lux, double mean, double power) +{ + + char *tableName = generateDataTableName(trialId, captorNumber); + + sqlite3 *db; + sqlite3_stmt *stmt; + + char *err_msg; + int rc; + int idx; + + rc = sqlite3_open("robotgowest.db", &db); + + char sql[70] = "INSERT INTO "; + strcat(sql, tableName); + strcat(sql, "(Lux,Mean,Power) VALUES ( :lux , :mean , :power)"); + printf(sql); + + rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); + if (rc != SQLITE_OK) + return 1; + + sqlite3_bind_double(stmt, 1, lux); + sqlite3_bind_double(stmt, 2, mean); + sqlite3_bind_double(stmt, 3, power); + + rc = sqlite3_step(stmt); + rc = sqlite3_finalize(stmt); + sqlite3_close(db); +} + int main(void) { sqlite3_initialize(); - initializeTrailsTable(); - initializeCaptorMetadataTable(); - createCaptorDataTable(12, 8); + // initializeTrailsTable(); + // initializeCaptorMetadataTable(); + // createCaptorDataTable(12, 8); + // insertTrailElement("test", 1, 3.0, 9); + // insertCaptorMetadataElement(1, 2); + // insertCaptorDataElement(12, 8, 10, 121, 1513); + sqlite3_shutdown(); } \ No newline at end of file diff --git a/Db-Script/db b/Db-Script/db index c116f7d54c52becf6d6fcf05b1128d4caaa59fb7..3cbc867f5529882124ca54ecb95388a69dfad8f5 100755 GIT binary patch delta 4737 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 BgVg{4 delta 2899 zcmZ8jeN0?c7Qgq+4D)7|G9P6+4BF*E(F!dy478;S(wXUieQi+Df+kI?CD{^oZ7l23 z%C@?IY&Em&D0tLp^bgSZkr)j+soH8=+A33{QCfGq=b_R&XKRe?kYi5Il)iEZm*3C zy*AiF!>&<!;R4A_(o;|(i=tEy``bDMpkdHL4Jp5hY9~2Cw zJm5h!icg-UK485)P-VBB6rpRr^b&JM5{J!;Xd z_9D;{T=zqZld~5opAfjWCIBACPI%f8gY%9eu;=}{j%`A0MBvXk6c;sz8X{L@Z}D$j zOg|6C@`5mxr&i<|t+f)B1L^niNq2l9zZ<^GTNUEl;}Rprk?~Zhat1>MoMF9x{F&4P zJDd-~1!w+}c$}-SgK@z{XOOzVp>EB*P_C;_de8QiMF{B}<~oE#FK$kqxkpcZqYr*N z)7sXOc2r_8J-y_VgF)lN2xj11n2^h!k|vAQfe!SvV;h5C{n!)Gha7LBTt7I`<1%xe zl78mU>YWKGb*? z38Tt1O`{86la7z!d*5nbRRMB${$!e|<~dwbxBzbQ*U~#+yMK9Q64}EapK3=B`rrjk zPd6KSY7!Up_7XHYe@z;#Vn*eV^?T?!_`833-)R&{!+{H!7DjGJ&2tr>C;UBzoXv*4V=4LQ1F5GKrSV5$avS`z&SL@-NrS`gv3D z0@EyM>geg1jN38$%`dF{<81bYOQt8gS#F;F%vc4S)bXl(@Sk-RN0K zNaC)|sdI_;&8Z&}ZHd%eyPmEh$llsgaSiW=YAn5yxmxUSWF}Ov{cTO7+vs(+2G*C{ z_>fDc`5MAF;uPWpVlU#$GZ++6n>9@pPx5)hn-FLJgDF7l_`x)HBaR{tBa;7`<}`)< zWj8AEOYmY@#QrbS9EZP^tq4uyOtuG9B-i7^!XJX@itG9w!kHI?9Y7?B0`H?ra!H=D zFW-qKO!EbN?nC)qtS?Eq?GA-0Xvq2ipRs?NW;a`els6CBY@O8d!E|!?T*QU1N1WIB zy(RWA7Qx~tc66X#hWhf2t`?kXmravqM#^;;CT@ssnGlUlHaHfJjSC#C?#-rif@Vi& z4beNXF0D}>gtG8GrQ>!^%8pnqJ}%aopvVtn;aGHrE0IEhtnaZAnP|XPKynQ29)cOEsRjsdHTx8; z6ppO9kru+&Yf2O?2+G#EqrHqE0O1{2juq7~ZN2f>x*Y^~VKEz)|$XEaXqpD#5Q3o<0)km+Ma=-^&ub z$j|LUe?UaG3J`s@S$yG?5IA1v3hffQz5wT21&!1FY?Yz3kiIW6XSD;AzQm-<-$5zM z%i{Pak#A*A`KQ8ue=_f`Z=&F<4>)=r*uCq1xV`=j@HX54>3S7f5npQ9mI>VaXPOyp z)F|zT6B{BvSq2jQKw}Y~ECPubB^GhZ5-=RFKeo=Lit<$9aIDTRi&f$b0VV!NIt~Nz zhfF<;gmC;%fk&FwxjwJw Jq!V*d@_z>4(#`+? diff --git a/Db-Script/robotgowest.db b/Db-Script/robotgowest.db index 1e6be5e463f1441094245cd6591703de2536035d..526204137ec4074a150fe84ac0ca8fd736f8bbf6 100644 GIT binary patch delta 258 zcmZoTz}T>Wae}lUCj$cmD-go~^F$qEQBDRu?}@xXAr{{I4E%-s@_cE$_csd)Wb-mN zvan2!tR;T#U?;j3Gsti8;m0AQKq*e=_j@1nPdzFU-ow!obPM1QKTAf6c)EjsG=J c;y%A9Clf0JBO?=6CF@HLMj(@kfs6Ge06aZ5vH$=8 delta 230 zcmZozz}Rqrae}lU3j+fK8xX?)%S0VxaTW$W?}@xXAy(dK2L3{RdA>B>N4(J+8=vwh zHL|d>i_6P1HinlZCgr4t7#cZSxFnV&!WnFn8Tryo8ClrHWn~!~L!qji4IzpkG^=xv tt7C|(LWrZ250Es3h$>88z^}g9p6@6l6NA8JL4z0k6DJ6