Я новичок в SQL и немного не уверен в том, как лучше всего использовать базу данных в программе, которую я пишу.
Моя программа сохраняет «заметки» в базе данных SQL Server CE. Строка заметки состоит из автоинкремента ID (int)
, title (string)
и текста заметки, который хранится в базе данных как ntext
.
У меня есть SqlCeDataAdapter
загрузка идентификатора и строк заголовка в DataTable
, который привязан к DataGrid
, поэтому пользователь может видеть список заметок и выбирать одну. Я не загружаю текстовую строку, потому что предполагаю, что она может быть большой и поэтому ей не нужно постоянно находиться в памяти.
string ConnectionString = "DataSource = " + @"..\\..\\Notes.sdf";
DatabaseConnection = new SqlCeConnection(ConnectionString);
DatabaseConnection.Open();
SqlCeCommand SelectCommand = new SqlCeCommand("SELECT ID, title FROM notes_id", DatabaseConnection);
DatabaseAdapter = new SqlCeDataAdapter(SelectCommand);
NotesDataTable = new DataTable();
DatabaseAdapter.Fill(NotesDataTable);
MainWindowDataView = NotesDataTable.DefaultView;
dataGridNotes.DataContext = MainWindowDataView;
Проблема в том, что я добавляю новую заметку. Должен ли я обновлять DataTable
и использовать это для обновления базы данных SQL? Или я должен непосредственно обновлять базу данных SQL и использовать ее для перезагрузки DataTable
для ее обновления?
Проблема с обновлением DataTable
заключается в том, что у меня нет колонки для текста заметки. И если я вставлю новую строку, я не уверен, как обратиться к этой новой строке, чтобы добавить текстовую ячейку.
Спасибо.