Рейтинг:
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, - ни одна из которых не требует установки сервера.