Слишком долго комментировать
Использование опции WITH REPLACE
(как вы указали) перезапишет базу данных тем, что содержится в резервной копии. Причина, по которой вы получаете эту ошибку в вашем скрипте, может быть в том, что вы используете опцию FILE
.
Параметры FILE, предшествующие имени устройства резервного копирования, определяют логические имена файлов базы данных, которые должны быть восстановлены из резервного набора; например, FILE = 'FILENAME'
blockquote>Причина, по которой вы получаете ошибку, может заключаться в том, что набор резервных копий не является первой резервной копией базы данных в наборе носителей. Вам необходимо добавить правильный номер к опции
FILE
в предложенииWITH
..... WITH FILE = 1, --this may not need to be 1 ....
Если вам не нужно явно указывать имя файла, отбросьте обе опции
FILE
.RESTORE DATABASE add_BackupDev FROM DISK = @LastDatabaseRestore WITH MOVE 'add_backupDev' TO 'R:\DATA\add_BackupDev.mdf', MOVE 'add_BackupDev_log' TO 'L:\LOG\add_BackupDev.ldf', NOUNLOAD, REPLACE; GO
Это должно восстановить вашу базу данных.
Для привязки к локальной «переменной» переменная должна быть:
Пример уведомляющего свойства:
public MyClass : INotifyPropertyChanged
{
private void PropertyType myField;
public PropertyType MyProperty
{
get
{
return this.myField;
}
set
{
if (value != this.myField)
{
this.myField = value;
NotifyPropertyChanged("MyProperty");
}
}
}
protected void NotifyPropertyChanged(String propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
Пример свойства зависимости:
public MyClass : DependencyObject
{
public PropertyType MyProperty
{
get
{
return (PropertyType)GetValue("MyProperty");
}
set
{
SetValue("MyProperty", value);
}
}
// Look up DependencyProperty in MSDN for details
public static DependencyProperty MyPropertyProperty = DependencyProperty.Register( ... );
}
Шаблон:
public string Text {get;set;}
, а привязка -
{Binding Text, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}
Если вы хотите, чтобы привязка обновлялась автоматически, вы должны сделать ее DependencyProperty.
Я думаю, что 3.5 добавлено ElementName
в привязки, поэтому следующее немного проще:
<Window x:Name="Derp" ...
<TextBlock Text="{Binding Text, ElementName=Derp}"/>
Если вы делаете это много, вы можете подумать о привязке DataContext всего окна к вашему классу. Это будет унаследовано по умолчанию, но все еще может быть переопределено, как обычно
<Window DataContext="{Binding RelativeSource={RelativeSource Self}}">
Затем для отдельных компонентов вы можете использовать
Text="{Binding Text}"