У меня есть несколько вопросов в моей работе.
Я пишу систему управления информацией, которая отображает информацию из базы данных.
Одной из функций программного обеспечения является возможность экспорта отображаемую информацию как EXCEL, а затем пользователь может изменить информацию в EXCEL, например, в столбце имени, изменить Джек на Джейсона, жениться на Ларри. Затем сохранить лист Excel, а затем импортировать его в программное обеспечение, чтобы все изменения, сделанные пользователями, также изменяются в базе данных.
Я реализовал большую часть этой функциональности, но столкнулся с проблемами при последнем пакетном обновлении. Я преобразовал импортированный Excel в таблицу с той же структурой в качестве таблицы базы данных, а затем реализовал ее с помощью adapt.update (dt). Однако я обнаружил, что он не обновляет пользовательские изменения в Excel в базе данных, а непосредственно вставляет информацию об импортированном Excel в базу данных, что также приводит к дублированию информации в базе данных. Код реализации для адаптера. Update () показано ниже. Где dt - таблица, преобразованная импортированным Excel.
public static bool BatchUpdate("select * from MYDATABASE",DataTable dt,ref string error)
{
if (dt.GetChanges().Rows.Count == 0) return true;
SQLiteConnection conn = SQLiteHelper.GetConnection();
conn.Open();
SQLiteTransaction t = conn.BeginTransaction();
using (SQLiteCommand selectcommand = new SQLiteCommand(selectSql, conn, t))
{
using (SQLiteDataAdapter adapter = new SQLiteDataAdapter())
{
adapter.SelectCommand = selectcommand;
SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter);
adapter.Update(dt);
dt1.AcceptChanges();
}
t.Commit();
return true;
}
}
Спасибо всем. Я ценю каждое предложение.