2012-04-02 3 views
0

Я новичок в SQL, и я немного не уверен в том, как наилучшим образом использовать базу данных в программе, которую я пишу.Обновление базы данных SQL Server CE, привязанной к DataTable

Моя программа сохраняет «заметки» в базе данных SQL Server CE. Строка примечания состоит из автоматического приращения ID (int), a 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 заключается в том, что у меня нет столбца для текста примечания. И если я вставляю новую строку, я не уверен, как обращаться к этой новой строке, чтобы добавить текстовую ячейку.

Спасибо.

ответ

0

Вы должны вставить новую строку в базу данных, а затем перезагрузить свой DataTable (и ваш вид данных) новым запросом из db. Кажется слишком простым, поэтому вам, возможно, придется немного придумать проблему.

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