background img

The New Stuff

SQLite for Windows 8 [path 1]

SQLite
Как и обещал в предыдущей статье пишу следующий пост про работу с SQLite. Разберем несколько простых селектов, узнаем как работать с прекрасной программой SQLite Expert для работы с нашей БД и так далее, по мелочи :).
Для начала создадим пустой проект и проделаем с ним все то что я писал в предыдущей статье, после этого создадим класс модели данных (я его назвал UserInfo) в которой будут содержаться все необходимые нам свойства (в нашем случае имя, фамилия, электронная почта и номер телефона). Вот как она выглядит:
using SQLite;
namespace TestAppSQLite
{
class UserInfo
{
[MaxLength(256)]
public string LastName { get; set; }
[MaxLength(256)]
public string FirstName { get; set; }
public int Phone { get; set; }
[MaxLength(256)]
public string Email { get; set; }
}
}
Далее прейдем в файл MainPage.xaml.cs и добавим строку для подключения к базе данных, и сделаем ее публичной в главном классе MainPage, для того чтоб легче было потом к ней подключится:)
public string DbPath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "TestData.db");
Далее нужно создать БД. Перейдем в конструктор MainPage и после инициализации напишем код создания БД:
using (var db = new SQLiteConnection(DbPath))
{
db.CreateTable();
}
Все можно приступать к написанию кода для добавления информации в БД. Создадим некую xaml разметку, у меня вот такая:
СнимокОбработайте события Click для кнопки Add и напишите следующий код:
using (var db = new SQLiteConnection(DbPath))
{
if (!(tbEmail.Text != "" & tbFirst.Text != "" &
tbLast.Text != "" & tbPhone.Text != ""))
{
MessageDialog dialog = new MessageDialog("Заполни все поля!");
dialog.ShowAsync();
return;
}
UserInfo info = new UserInfo()
{
LastName = tbLast.Text,
FirstName = tbFirst.Text,
Email = tbEmail.Text,
Phone = Convert.ToInt32(tbPhone.Text)
};
db.Insert(info);
}
Так, что здесь сделано, во-первых идет простая (даже очень простая) проверка на заполнение всех полей, далее создаю экземпляр нашего класса модели данных и используя возможности C# сразу же передаю соответственные параметры, и вконец концов вызываю свойство Insert для добавления данных в нашу базу.
Чтобы посмотреть что данные занесены в базу сделаем следующее, поставим точку останова на строку где прописан код для создания БД: БезымянныйПосле того как программу скомпилируем и запустим получим вот такое окно, в котором будет путь к БД, копируем его от туда, заходим в SQLite Expert нажимаем открыть БД и вставляем наш путь к файлу.
ыйдКак видно с изображения данные занесены, это хорошо теперь можно осуществить еще и поиск по БД:
Добавим в окно приложения два текс бокса и одну кнопку:
12121212И на обработчик нашей кнопки напишем следующий код для поиска по БД:
using (var db = new SQLiteConnection(DbPath))
{
var info = from c in db.Table()
where c.LastName == tbSearch.Text
select c;

if (info.FirstOrDefault() != null)
{
tbresult.Text = info.FirstOrDefault().FirstName + "\n" +
info.FirstOrDefault().Phone + "\n" +
info.FirstOrDefault().Email;
}
else
{
MessageDialog dialog = new MessageDialog("Ничего не найдено :(");
dialog.ShowAsync();
}
}
Здесь сначала написали небольшой запрос к нашей БД в котором сказали искать по повсюду но как только найдешь строку в которой LastName будет равно введенной нами строке завершай работу. Далее идет проверка на то нашлось ли что та в БД, если нашлось, вывести все что с ним связано иначе, вывести сообщение что ничего нет.
Все на сегодня достаточно :) Мы теперь знаем как создать элементарные запросы (поиск и добавление), в следующем посте рассмотрим удаление и редактирование в БД.
Удачи в ПРОграммировании.
SQLite
Как и обещал в предыдущей статье пишу следующий пост про работу с SQLite. Разберем несколько простых селектов, узнаем как работать с прекрасной программой SQLite Expert для работы с нашей БД и так далее, по мелочи :).
Для начала создадим пустой проект и проделаем с ним все то что я писал в предыдущей статье, после этого создадим класс модели данных (я его назвал UserInfo) в которой будут содержаться все необходимые нам свойства (в нашем случае имя, фамилия, электронная почта и номер телефона). Вот как она выглядит:
using SQLite;
namespace TestAppSQLite
{
class UserInfo
{
[MaxLength(256)]
public string LastName { get; set; }
[MaxLength(256)]
public string FirstName { get; set; }
public int Phone { get; set; }
[MaxLength(256)]
public string Email { get; set; }
}
}
Далее прейдем в файл MainPage.xaml.cs и добавим строку для подключения к базе данных, и сделаем ее публичной в главном классе MainPage, для того чтоб легче было потом к ней подключится:)
public string DbPath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "TestData.db");
Далее нужно создать БД. Перейдем в конструктор MainPage и после инициализации напишем код создания БД:
using (var db = new SQLiteConnection(DbPath))
{
db.CreateTable();
}
Все можно приступать к написанию кода для добавления информации в БД. Создадим некую xaml разметку, у меня вот такая:
СнимокОбработайте события Click для кнопки Add и напишите следующий код:
using (var db = new SQLiteConnection(DbPath))
{
if (!(tbEmail.Text != "" & tbFirst.Text != "" &
tbLast.Text != "" & tbPhone.Text != ""))
{
MessageDialog dialog = new MessageDialog("Заполни все поля!");
dialog.ShowAsync();
return;
}
UserInfo info = new UserInfo()
{
LastName = tbLast.Text,
FirstName = tbFirst.Text,
Email = tbEmail.Text,
Phone = Convert.ToInt32(tbPhone.Text)
};
db.Insert(info);
}
Так, что здесь сделано, во-первых идет простая (даже очень простая) проверка на заполнение всех полей, далее создаю экземпляр нашего класса модели данных и используя возможности C# сразу же передаю соответственные параметры, и вконец концов вызываю свойство Insert для добавления данных в нашу базу.
Чтобы посмотреть что данные занесены в базу сделаем следующее, поставим точку останова на строку где прописан код для создания БД: БезымянныйПосле того как программу скомпилируем и запустим получим вот такое окно, в котором будет путь к БД, копируем его от туда, заходим в SQLite Expert нажимаем открыть БД и вставляем наш путь к файлу.
ыйдКак видно с изображения данные занесены, это хорошо теперь можно осуществить еще и поиск по БД:
Добавим в окно приложения два текс бокса и одну кнопку:
12121212И на обработчик нашей кнопки напишем следующий код для поиска по БД:
using (var db = new SQLiteConnection(DbPath))
{
var info = from c in db.Table()
where c.LastName == tbSearch.Text
select c;

if (info.FirstOrDefault() != null)
{
tbresult.Text = info.FirstOrDefault().FirstName + "\n" +
info.FirstOrDefault().Phone + "\n" +
info.FirstOrDefault().Email;
}
else
{
MessageDialog dialog = new MessageDialog("Ничего не найдено :(");
dialog.ShowAsync();
}
}
Здесь сначала написали небольшой запрос к нашей БД в котором сказали искать по повсюду но как только найдешь строку в которой LastName будет равно введенной нами строке завершай работу. Далее идет проверка на то нашлось ли что та в БД, если нашлось, вывести все что с ним связано иначе, вывести сообщение что ничего нет.
Все на сегодня достаточно :) Мы теперь знаем как создать элементарные запросы (поиск и добавление), в следующем посте рассмотрим удаление и редактирование в БД.
Удачи в ПРОграммировании.

0 коммент.:

Отправить комментарий

Popular Posts