Включить базу данных в проект без добавления источника данных?
Для проекта, над которым я работаю, я создал пустую базу данных в виде файла шаблона и должен включить ее в свой проект.
Файл используется только тогда, когда программа копирует его в новое место. После этого вся работа идет с новым файлом. Мой код делает именно то, что я хочу; Я просто не хочу добавлять новый источник данных просто для копирования одного файла.
Образец кода:
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 ответ
Да , вы можете добавить практически любой файл в проект, используя Rclick -> Add Existing Item. затем убедитесь, что для файла установлено значение "Содержимое" в его свойствах, а для него установлено значение "Копировать, если новее". таким образом, когда вы меняете шаблон, при следующей сборке файл будет копироваться в каталог \bin\debug или \bin\release в зависимости от конфигурации вашей сборки.
если вы делаете проект ASP, просто поместите его в каталог bin, поскольку веб-сайты не создаются так же, как другие типы проектов. однако помните, что веб-сайт при развертывании никогда не должен запускаться под пользователем, которому разрешено изменять любые файлы на сайте, в том числе копировать их, так что это не очень хороший подход для веб.