Как использовать класс SqlCeConnection в приложении Window Phone 7? - PullRequest
0 голосов
/ 03 декабря 2010

Я занимаюсь разработкой приложения для windows phone 7.Я новичок в разработке приложений Windows Phone 7.Я хочу использовать базу данных SQL Server Compact Edition в своем приложении для подключения к базе данных.Таким образом, в моем приложении я создал базу данных, щелкнув правой кнопкой мыши «Data Connection» и выбрав «Add Connection» в Server Explorer.После этого я создал базу данных с помощью кнопки «Создать» в открывшемся окне. Затем я проверил свое соединение.Это было успешно.Я добавил этот созданный файл базы данных в свое приложение, щелкнув правой кнопкой мыши на имени проекта и выбрав добавить существующий элемент.Файл базы данных был добавлен как «ExpenseManagerDB.sdf». Я создал таблицы для этой базы данных с помощью обозревателя сервера.Теперь я хочу программно подключиться к базе данных для моего приложения.Поэтому я использую следующий код

namespace ExpenseMgrMobAppl.Category
{
    public partial class Category : PhoneApplicationPage
    {
        private void Submitbutton_Click(object sender, RoutedEventArgs e)
        {
            string conSTR = "Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + "\\ExpenseManagerDB.sdf;Persist Security Info=False";
            SqlCeConnection connection = new SqlCeConnection(conSTR);
            SqlCeCommand cmd = new SqlCeCommand("select category_name form category where category_id=1", connection);
            connection.Open();
            textBlock1.Text = cmd.ExecuteScalar.ToString();
            connection.Close();
        }
    }
}

Но я не нахожу никакого пространства имен / сборки для класса SqlCeConnection.Я также попытался добавить ссылку на DLL 'System.Data.SqlServerCE.dll' в моем приложении.Но ссылка не может быть добавлена.Что мне нужно сделать для подключения к базе данных?Что мне нужно сделать, чтобы использовать класс SqlCeConnection в моем приложении?Я ищу вещь, из которой я могу использовать класс SqlCeConnection в моем приложении?Можете ли вы предоставить мне какое-либо решение или ссылку, с помощью которой я могу решить вышеуказанную проблему?Если я делаю что-то не так в указанном выше случае, пожалуйста, наведите меня.

Ответы [ 2 ]

4 голосов
/ 03 декабря 2010

SQL CE недоступен в этом выпуске инструментов.

Альтернативы - хранилище за веб-службой, сторонние источники БД, такие как Sterling, или локальное хранилище в файлах с использованием, например, XML и LINQ.

1 голос
/ 03 декабря 2010

Как говорит Мик Н, для телефона доступны сторонние базы данных. Посмотрите на

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

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

Тем не менее, если у вас есть требование к данным, которое, по вашему мнению, требует полной реляционной базы данных, вам обязательно следует использовать одну из вышеупомянутых БД.

...