Читая Ваш вопрос тщательно, Вы просто хотите обновить таблицу B на основе новых значений идентификационных данных в таблице A.
После того, как вставка закончена, просто выполните обновление...
UPDATE B
SET NewID = A.ID
FROM B INNER JOIN A
ON (B.FName = A.Fname AND B.LName = A.LName)
Это предполагает, что FName / комбинация LName может привыкнуть к соответствию ключа записи между таблицами. Если дело обстоит не так, Вы, возможно, должны добавить дополнительные поля, чтобы гарантировать, чтобы записи соответствовали правильно.
, Если у Вас нет альтернативного ключа, который позволяет Вам соответствовать записям тогда, это не имеет смысла вообще, так как записи в таблице B нельзя отличить друг от друга.
похоже, что проблема в строке
TreeNode selNode = (TreeNode)treeView1.GetNodeAt(Cursor.Position);
, измените ее на
TreeNode selNode = (TreeNode)treeView1.GetNodeAt(treeView1.PointToClient(Cursor.Position));
, и она должна работать; Я также рекомендовал бы взглянуть на следующую статью: Как добавить всплывающую подсказку к TreeNode в Visual C # для получения подробной информации о том, как добавлять всплывающие подсказки в древовидный просмотр
надеюсь, что это поможет, с уважением