Для проекта, над которым я работаю, я создал пустую базу данных в виде файла шаблона и должен включить ее в свой проект.

Файл используется только тогда, когда программа копирует его в новое место. После этого вся работа идет с новым файлом. Мой код делает именно то, что я хочу; Я просто не хочу добавлять новый источник данных просто для копирования одного файла.

Образец кода :

Imports System.IO    
Imports System.Data.OleDb    
Imports System.Windows.Forms    

FName = Directory & NewFile & ".mdb"    
FName2 = Directory & NewFile & ".rdb"    
'File.Copy(Application.StartupPath & "\Template.mdb", FName, False) 'old 
IO.File.WriteAllBytes(FName, My.Resources.Template)                 'new
Con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FName)    
Try    
  Con.Open()    
  SQLstr = String.Format("INSERT INTO tblParts (FILENAME) VALUES('{0}');", Name)    
  Command = New OleDbCommand(SQLstr, Con)    
  Command.ExecuteNonQuery()
Finally    
  Con.Close()    
End Try

'File.Copy(FName, FName2, False) 'old
'File.Delete(FName)              'old
FileSystem.Rename(FName, FName2) 'new

Можно ли добавить файл базы данных в проект Visual Studio без добавления нового источника данных?

Решение: файл добавлен в качестве ресурса в свойствах проекта и отменен мастер источника данных. Я также очистил код для создания и переименования файла. Старый код комментируется для справки.

1 ответ1

0

да, вы можете добавить в проект практически любой файл, используя Rclick -> Add Existing Item. затем убедитесь, что для файла установлено значение "Содержимое" в его свойствах, а для него установлено значение «Копировать, если новее». таким образом, когда вы меняете свой шаблон, при следующей сборке файл будет копироваться в каталог \bin \debug или \bin \release в зависимости от конфигурации вашей сборки.

если вы делаете проект ASP, просто поместите его в каталог bin, поскольку веб-сайты не создаются так же, как другие типы проектов. однако помните, что веб-сайт при развертывании никогда не должен запускаться под пользователем, которому разрешено изменять любые файлы на сайте, в том числе копировать их, так что это не очень хороший подход для веб.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .