2012-05-07 6 views
0

Я искал несколько дней в Интернете, как создать форму привязки данных, которую я могу использовать для редактирования значений, но не повезло. Я был бы очень признателен, если кто-то может мне помочь!Вставить данные в базу данных WinForm в базу данных

Показатели считывания отлично работают, но обновление/вставка - нет.

FormLoad:

newRow = issueTable.NewRow(); 
newRow["ID"] = Id; 
issueTable.Rows.Add(newRow); 
txtName.DataBindings.Add("Text", issueTable, "Name"); 

Сохранить:

SqlCommandBuilder build = new SqlCommandBuilder(adaptor); 
adaptor.InsertCommand = build.GetInsertCommand(); 
adaptor.Update(issueTable); 

Моя проблема заключается в том, что в таблице SQL: "ID" откладываются, но "Имя" остаться пустым. Что для меня странно, так это то, что если я буду контролировать issueTable.Rows [0] ["Name"], он вернет значение в форме.

Спасибо!

ответ

1

Проблема в том, что я хотел одновременно вставлять и редактировать. Я не понимал, что если строка находится в состоянии Insert, она блокирует обновления.

Решение:

Нагрузка:

newRow = issueTable.NewRow(); 
newRow["ID"] = Id; 
issueTable.Rows.Add(newRow); 
txtName.DataBindings.Add("Text", issueTable, "Name"); 
newRow.AcceptChanges(); //Remove the Insert State, to accept modifications 
isNew = true; 

Сохранить:

if (isNew) 
{ 
    newRow.SetAdded(); //Add the Insert State back 
    isNew = false; 
} 

SqlCommandBuilder build = new SqlCommandBuilder(adaptor); 
adaptor.InsertCommand = build.GetInsertCommand(); 
adaptor.UpdateCommand = build.GetUpdateCommand(); 
adaptor.Update(issueTable);