Kishan N. Trivedi Ответов: 1

Данные в файле базы данных. mdf не вставляются


Здравствуйте, я пытаюсь вставить данные в файл. mdf db, когда я указываю полный путь в строке подключения, то он работает, но когда я указываю путь с помощью |DataDirectory| then runtime, он показывает, что данные вставлены, но данные не вставляются в файл базы данных. mdf

Что я уже пробовал:

это работает
соединение = новый объект sqlconnection(@"источник данных=.\Именем sqlexpress;ключевое слово attachdbfilename=С:\Пользователи\документы Кишан\\визуальной студии 2008\проекты\Роберт графика\Роберт графика\Shriya_Graphics.МДФ;Комплексная безопасность=true;в пользовательский экземпляр=true в");

это не работает
connection = new SqlConnection(свойства.Настройки.По умолчанию.ConnString);

NotPolitcallyCorrect

Начните с выяснения того, какие "свойства.Настройки.По умолчанию.ConnString " есть.

1 Ответов

Рейтинг:
4

OriginalGriff

Если верхняя строка работает - а вы не должны ее использовать, жестко закодированные строки соединений-плохая идея, - а вторая нет, то вам нужно использовать отладчик и посмотреть, что именно Properties.Settings.Default.ConnString возвращается. Почти наверняка это не допустимая строка подключения SQL или она обращается к другой БД.

Помните, что прикрепление баз данных доступно только для разработки и может использоваться только в экспресс-выпусках SQL Server. Если вы попытаетесь использовать его в производстве, он всегда потерпит неудачу.


Kishan N. Trivedi

Тогда что же мне делать?..?

Kishan N. Trivedi

На самом деле я поместил свой файл базы данных .mdf в папку проекта и из проекта->Свойства->Настройки-> Я создаю строку подключения, и для строки подключения я выбрал этот файл базы данных в качестве значения.правильно это или нет?..?

OriginalGriff

Это нормально для dev - хотя я бы поместил его в специальную папку "базы данных", - но он не будет работать в производстве, где БД должна постоянно контролироваться SQL Server.

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

Kishan N. Trivedi

Можете ли вы сказать мне, как опубликовать мое приложение C# с БД на клиентском ПК

OriginalGriff

Это будет зависеть от клиента и от того, как / что делает ваше приложение.
Если ваше приложение использует SQL Server, то вам нужен экземпляр, установленный там, где клиентский компьютер может получить к нему доступ, и достаточные разрешения для добавления к нему базы данных. Это нетривиально, потому что это, вероятно, связано с вещами, которые средний пользователь Джо не будет знать, например, строки подключения, идентификаторы пользователей - вы знаете проблемы.
Но если вы не пытаетесь использовать многопользовательскую БД (и я понятия не имею, что это за приложение), то вам может быть проще изменить свой код, чтобы использовать однопользовательскую систему, такую как SqLite или даже Access, - ни одна из которых не требует установки сервера.