File indexing completed on 2025-08-06 08:18:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef USPIN_SPINDBINPUT_H
0011 #define USPIN_SPINDBINPUT_H
0012
0013 #include "SpinDBContent.h"
0014
0015 #include <stdio.h>
0016 #include <sstream>
0017
0018 namespace odbc
0019 {
0020 class Connection;
0021 class Statement;
0022 class ResultSet;
0023 };
0024
0025 class SpinDBInput
0026 {
0027 public:
0028 SpinDBInput() { Initialize(); }
0029 virtual ~SpinDBInput();
0030 void Initialize();
0031 int IsConnected();
0032 int CheckRunRow(int runnum, int qa_level, const char *opt = "");
0033 int CreateRunRow(int runnum, int qa_level);
0034 int DeleteRunRow(int runnum, int qa_level);
0035 int InitializeRunRow(SpinDBContent spin_cont);
0036 int UpdateDBContent(SpinDBContent spin_cont);
0037 int SetDefaultQA(SpinDBContent spin_cont);
0038 int UpdateValue(int runnum, int qa_level, const char *name, int value);
0039 int UpdateValue(int runnum, int qa_level, const char *name, float value);
0040 int UpdateValue(int runnum, int qa_level, const char *name, double value);
0041 int UpdateArray(int runnum, int qa_level, const char *name, int *value, int nvalue);
0042 int UpdateArray(int runnum, int qa_level, const char *name, float *value, int nvalue);
0043 int UpdateArray(int runnum, int qa_level, const char *name, double *value, int nvalue);
0044 int UpdateArray(int runnum, int qa_level, const char *name, unsigned int *value, int nvalue);
0045 int UpdateArray(int runnum, int qa_level, const char *name, long long *value, int nvalue);
0046 int InitializeValue(int runnum, int qa_level, const char *name);
0047 int InitializeArray(int runnum, int qa_level, const char *name, int nvalue);
0048
0049 private:
0050 static const std::string DB_NAME;
0051 static const std::string TABLE_NAME;
0052 static const int ERROR_VALUE;
0053
0054 odbc::Connection *con{nullptr};
0055 int run_check;
0056 int qa_check;
0057
0058 int UpdateValue(int runnum, int qa_level, const char *cmd);
0059 template <class T>
0060 int UpdateValueTemp(int runnum, int qa_level, const char *name, T value);
0061 template <class T>
0062 int UpdateArrayTemp(int runnum, int qa_level, const char *name, T *value, int nvalue);
0063 };
0064
0065 #endif