2013-11-03 3 views
0

Я работаю с .NET 4.5 и C# с использованием базы данных SQL Server Compact.Как вставить в SQL Server Compact

enter image description here

Вот команда вставки Я использую:

try 
{ 
    conn.Open(); 
    String query = "INSERT INTO categories (cat_title) VALUES (@cat_title)"; 

    SqlCeCommand cmd = new SqlCeCommand(query, conn); 
    cmd.Parameters.AddWithValue("@cat_title", cat_title); 

    cmd.ExecuteNonQuery(); 
} 
catch (Exception ex) 
{ 
    Debug.WriteLine(ex.Message); 
} 
finally 
{ 
    conn.Close(); 
} 

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

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

Если я обновляю дБ из Проводника базы данных, результаты больше не присутствуют в приложении.

Я делаю это правильно? Почему результаты будут вести себя так?

+0

Это приложение для окон? –

+0

YEs. Это приложение Windows Form. –

+3

«Если я снова запустил приложение, я могу увидеть элемент или элементы, которые я добавил». Это почти наверняка означает, что ваш проводник DB указывает на другую БД :-) – dasblinkenlight

ответ

0

@marc_s и @ ta.speot.is являются правильными, но и для других новичков, там я думаю, что я мог бы также перезвон в.

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

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