927
928
InQ.prepare(sString("INSERT INTO ")+RootDB->TableFullName("databases")
928
929
+" (id,type,name,host,port,login,password)"
929
930
+" VALUES(?,?,?,?,?,?,?)");
930
InQ.addBindString( sNodeUUID::ForTheRoot(this,link.Id,link.Version)
931
InQ.addBindString( link.Id.ToString() );
932
932
InQ.addBindValue ( quint8(link.Type) );
933
933
if( link.TableNamePrefix.Empty() ){
934
934
InQ.addBindString( link.DBName + "?" + link.SchemaName );
944
944
InQ.prepare(sString("INSERT INTO ")+RootDB->TableFullName("parts")
945
945
+" VALUES(?,?,?)");
946
InQ.addBindString( sNodeUUID::ForTheRoot(this,link.Id,link.Version)
946
InQ.addBindString( link.Id.ToString() );
948
947
InQ.addBindString( link.URL() );
949
948
InQ.addBindValue( QByteArray((literal)(link.Password)).toBase64()
950
949
, QSql::In | QSql::Binary );
968
void sDB_SQL_Net::EditLink (rsDB_Link link)
971
psDatabase RootDB(Databases[RootDB_UUID]);
972
sSQLQuery UpdateQ (RootDB->Connection());
973
if( RootDB->Version < sVersion(1,5) ){
974
UpdateQ.prepare(sString("UPDATE ")+RootDB->TableFullName("databases")
975
+" SET type=?,name=?,host=?,port=?,login=?,password=?"
977
UpdateQ.addBindValue ( quint8(link.Type) );
978
if( link.TableNamePrefix.Empty() ){
979
UpdateQ.addBindString( link.DBName + "?" + link.SchemaName );
981
UpdateQ.addBindString( link.DBName + "?" + link.SchemaName
982
+ ";" + link.TableNamePrefix );
984
UpdateQ.addBindString( link.Host );
985
UpdateQ.addBindValue( link.Port );
986
UpdateQ.addBindString( link.Login );
987
UpdateQ.addBindString( link.Password );
989
UpdateQ.prepare(sString("UPDATE ")+RootDB->TableFullName("parts")
990
+" SET part_url = ? , pcode = ? WHERE part_id = ?");
991
UpdateQ.addBindString( link.URL() );
992
UpdateQ.addBindValue( QByteArray((literal)(link.Password)).toBase64()
993
, QSql::In | QSql::Binary );
995
UpdateQ.addBindString( link.Id.ToString() );
998
throw xNetIO(sString("SQL error in sDB_SQL_Net::EditLink\n")
1001
throw xNetIO("Unknown error in sDB_SQL_Net::EditLink\n"
1002
"while updating link.");
1007
void sDB_SQL_Net::RemovePartition (psDatabase partition)
1010
psDatabase RootDB(Databases[RootDB_UUID]);
1011
sSQLQuery SQL (RootDB->Connection());
1012
if( RootDB->Version < sVersion(1,5) ){
1013
SQL.prepare(sString("DELETE FROM ")+RootDB->TableFullName("databases")
1016
SQL.prepare(sString("DELETE FROM ")+RootDB->TableFullName("parts")
1017
+" WHERE part_id = ?");
1019
SQL.addBindString( partition->Id.ToString() );
1021
Databases.erase(partition->Id);
1023
throw xNetIO(sString("SQL error in sDB_SQL_Net::RemovePartition\n")
1026
throw xNetIO("Unknown error in sDB_SQL_Net::RemovePartition\n");
969
1031
bool sDB_SQL_Net::CreateTables (rcsDB_Info info