SQL Compact Edition Вставка C # - PullRequest
       0

SQL Compact Edition Вставка C #

1 голос
/ 30 марта 2011

Я пытаюсь вставить некоторые значения в базу данных SQL CE, как это, и ничего не происходит. Что я делаю не так?

string strConn = Properties.Settings.Default.SqlConnectionString;
using (SqlCeConnection con = new SqlCeConnection(strConn))
{
    con.Open();
    using (SqlCeCommand cmd = new SqlCeCommand("insert into CustTable(ID, Name) values (@Val1, @val2)", con))
    {
        cmd.Parameters.AddWithValue("@Val1", customer.ID);
        cmd.Parameters.AddWithValue("@Val2", customer.Name);
        cmd.CommandType = System.Data.CommandType.Text;
        cmd.ExecuteNonQuery();
    }
}

Ответы [ 3 ]

5 голосов
/ 30 марта 2011

Как вы "пытаетесь вставить некоторые значения ..."? Вы запускаете приложение из Visual Studio? Почему вы думаете "ничего не происходит"? Открываете ли вы свой оригинальный файл .sdf после запуска приложения?

Проверьте свойство «Копировать файл» для файла базы данных в обозревателе решений; это "Копировать"? Это означает, что Visual Studio создаст копию исходного файла базы данных в папке bin и установит строку подключения в этот путь. Все изменения происходят с копией, и если вы изучите оригинальный файл, он не изменится.

Существует еще один вопрос с той же проблемой; посмотрим, поможет ли это.

2 голосов
/ 30 марта 2011

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

    using (SqlCeConnection con = new SqlCeConnection(strConn))
    {
        con.Open();
        using (SqlCeCommand cmd = new SqlCeCommand("insert into CustTable(ID,   Name) values (@Val1, @val2)",con))
        {
            cmd.Parameters.AddWithValue("@Val1", customer.ID);
            cmd.Parameters.AddWithValue("@Val2", customer.Name);
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.ExecuteNonQuery();
        }
    }
0 голосов
/ 18 апреля 2014

Попробуйте это.

using (SqlCeConnection con = new SqlCeConnection(strConn))
{
    SqlCeParameter par;
    con.Open();
    SqlCeCommand cmd = con.CreateCommand();
    cmd.CommandText = "insert into CustTable(ID, Name) values (@Val1, @val2)";
    // Create the parameters
    par = new SqlCeParameter("@Val1", SqlDbType.Int);
    cmd.Parameters.Add(par); 
    par = new SqlCeParameter("@Val2", SqlDbType.NChar, 50);
    cmd.Parameters.Add(par);
    // Set the values        
    cmd.Parameters["@Val1"].Value = customer.ID;
    cmd.Parameters["@Val2"].Value = customer.Name;
    cmd.ExecuteNonQuery();
    // Dispose
    cmd.Dispose();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...