2012-05-31 3 views
0

У меня есть странная проблема с моей локальной базой данных. Я добавил его как файл .mdf и создал в нем 2 таблицы..mdf файл не отвечает на SqlCommand.ExecuteNonQuery

Я протестировал соединение, и в окне сообщения указано, что соединение работает правильно.

Проблема возникает, когда я пытаюсь вставить данные в эту базу данных из моего приложения C#. Я попробовал 2 различными способами:

  1. Используя SqlCommand.ExecuteNonQuery("INSERT INTO ....")
  2. Используя .dbml файл (Linq-to-SQL) DataContext

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

Я использую C# в VS 2010 и SQL Server 2005, чтобы сделать мое приложение

+0

Вы пытались обновить представление базы данных в SQL Management Studio. Перейдите в базу данных, в которой должны быть новые таблицы, выберите ее и нажмите F5. Там у вас есть свои столы! В противном случае, если это не сработает, отправьте свой код ExecNonQuery ... – MoonKnight

+0

Можете ли вы показать нам свою ** строку подключения **? У меня есть подозрение - но мне нужно понять, действительно ли вы используете этот подход ... –

+0

Это моя строка соединения: 'Data Source =. \ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ MDC.mdf; Integrated Security = True; Пользователь Instance = True' Я нашел одну очень странную вещь: я попытался отобразить данные непосредственно из приложения с помощью dataGridView, и он работает правильно. Но все же, когда я закрываю приложение и пытаюсь запросить базу данных вручную из VS 2010, он показывает, что он пуст. – NDraskovic

ответ

1

наиболее воспринимаемые проблемы с MDF файлы, как правило, сводятся к одному из:

  • какой файл я на самом деле открыт ?
  • - это мой процесс сборки/запуска, фактически копирующий этот файл каждый раз при запуске приложения?
  • Есть ли у меня бесплатная обработка ошибок, которая проглатывает исключение?

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

Также: попробуйте извлечь данные в новый контекст данных сразу после вставки, так что посмотрите, сделало это или нет.

+0

Да, что пришло мне в голову. Пожалуйста, взгляните на комментарий, который я опубликовал в своем вопросе. – NDraskovic

+0

@NDraskovic действительно; ответил на это –

Смежные вопросы