I'm using Microsoft SQL Server
Stored Procedure:
ALTER procedure [dbo].[CreateNewProjectDatabase]
@ProjectName varchar(100),
@ProjectDescription varchar(500),
@FK_TypicalArt int,
@FK_KommTypicalArt int
as
begin
set nocount on
begin try
-- Create Database from a Template
declare @backupFile varchar(100) = 'D:\Entwicklung\EngProjectTemplate.bak'
declare @moveFrom varchar(100) = 'EngProjectTemplate'
declare @moveFromLog varchar(100) = 'EngProjectTemplate_log'
declare @moveTo varchar(100) = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\' + @ProjectName + '.mdf'
declare @moveToLog varchar(100) = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\' + @ProjectName + '_log.ldf'
restore database @ProjectName
from disk = @backupFile
with
file = 1,
move @moveFrom to @moveTo,
move @moveFromLog to @moveToLog,
nounload, stats = 5
end try
begin catch
return @@error
end catch
end else begin
return -1
end
return 0
end
C# Code:
try
{
contextSystem.CreateNewProjectDatabase(tbProjektName.Text, radTextBoxBeschreibung.Text,
(int)radDropDownListTypicalArt.SelectedValue,
(int)radDropDownListKommTypicalArt.SelectedValue,
out retValue);
if (retValue == 0)
{
contextSystem.SaveChanges();
}
else
{
RadMessageBox.Show("SQL Fehler " + retValue, "Fehler", MessageBoxButtons.OK, RadMessageIcon.Error);
}
}
catch (Exception ex)
{
RadMessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, RadMessageIcon.Error);
}