aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Core/DB
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2019-12-09 16:19:41 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2019-12-09 16:19:41 +0200
commitc7fa53084c674586ceee773ccbdc6b4c0a2ec7d4 (patch)
tree1642092f35d6e02de502909c3db97131e66bfaca /Software/Visual_Studio/Tango.Core/DB
parentaeabb681d16451e191a1620d4eebf40549771491 (diff)
downloadTango-c7fa53084c674586ceee773ccbdc6b4c0a2ec7d4.tar.gz
Tango-c7fa53084c674586ceee773ccbdc6b4c0a2ec7d4.zip
Implemented full TUP package update !!!
Diffstat (limited to 'Software/Visual_Studio/Tango.Core/DB')
-rw-r--r--Software/Visual_Studio/Tango.Core/DB/DbManager.cs33
1 files changed, 32 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Tango.Core/DB/DbManager.cs b/Software/Visual_Studio/Tango.Core/DB/DbManager.cs
index 1d415fdb1..8601d67a0 100644
--- a/Software/Visual_Studio/Tango.Core/DB/DbManager.cs
+++ b/Software/Visual_Studio/Tango.Core/DB/DbManager.cs
@@ -65,9 +65,15 @@ namespace Tango.Core.DB
#region Public Methods
- public void Create(String name)
+ public void Create(String name, String filePath = null)
{
String command = String.Format("CREATE DATABASE {0}", name);
+
+ if (filePath != null)
+ {
+ command = $"CREATE DATABASE {name} ON (name='{name}', filename='{filePath}')";
+ }
+
SqlCommand cmd = new SqlCommand(command, _connection);
cmd.ExecuteNonQuery();
}
@@ -160,6 +166,13 @@ namespace Tango.Core.DB
SetOnline(name);
}
+ public void RestoreAsNew(String name, String file, String dbFolder)
+ {
+ String command = $"RESTORE DATABASE {name} FROM DISK='{file}' WITH MOVE '{name}' TO '{Path.Combine(dbFolder, name)}.mdf', MOVE '{name}_log' TO '{Path.Combine(dbFolder, name)}.ldf'";
+ SqlCommand cmd = new SqlCommand(command, _connection);
+ cmd.ExecuteNonQuery();
+ }
+
public void ClearDb()
{
if (!_connection.ConnectionString.ToLower().Contains("initial catalog"))
@@ -265,6 +278,24 @@ EXEC sp_executesql @statement
return cred;
}
+ public String GetValue(String query, String columnName)
+ {
+ string sql = query;
+ var cm = new SqlCommand(sql, _connection);
+ var dr = cm.ExecuteReader();
+ if (dr.Read())
+ {
+ var value = dr[columnName];
+
+ if (value != null)
+ {
+ return value.ToString();
+ }
+ }
+
+ return null;
+ }
+
#endregion
#region IDisposable