[ad_1]
テキスト ファイルを読みました テキスト ファイルに新しいデータを挿入する必要があります
これは私がテキストファイルを読んだ方法です
try { var path = @"text file\\GetAllEmp.txt"; string rawJson = File.ReadAllText(path, Encoding.UTF8); ObservableCollection<EmployeeItem> Employee = new ObservableCollection<EmployeeItem>(); var jsonData = JsonConvert.SerializeObject(rawJson); List<EmployeeItem> emp = JsonConvert.DeserializeObject<List<EmployeeItem>>(rawJson); listitem.ItemsSource = emp;
私が試したこと:
テキストファイルに新しいデータを追加するだけです
新しいデータを追加する方法
私のデータベースには
public static void AddEmployee(EmployeeItem Employee) { string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "chillDatabase.db"); using (SqliteConnection db = new SqliteConnection($"Filename={dbpath}")) { db.Open(); SqliteCommand insertCommand = new SqliteCommand(); insertCommand.Connection = db; insertCommand.CommandText = "INSERT or REPLACE INTO SiteInfoTable VALUES (@EMP_SITEID, @EMP_GroupID, @EMP_ID,)"; insertCommand.Parameters.AddWithValue("@EMP_SITEID ", Employee.SiteID); insertCommand.Parameters.AddWithValue("@EMP_GroupID ", Employee.GroupID); insertCommand.Parameters.AddWithValue("@EMP_ID ", Employee.Id); try { insertCommand.ExecuteNonQuery(); } catch (Exception ex) { throw new Exception(ex.Message); } }
解決策 1
JSON ファイルにデータを追加する唯一の実用的な方法は、ファイルから読み取ったオブジェクトにそのデータを追加してから、古いデータを含む新しいファイルを作成することです。
JSON はデータベースではなく、データ転送形式であり、「行の追加」または「列の追加」を簡単にする方法で編成されていません。 JSON を定期的に変更する場合は、代わりにデータベースを使用する方がよいでしょう。
見積もり:新しいオブジェクトを挿入する方法はありませんか? データを挿入する他の方法はありますか
JSON ファイルはテキストです。JSON を「理解する」ソフトウェアで読み取るまでは、構造化データではありません。
そして、テキスト ファイルは *何も挿入しません* テキスト ファイルに 1 文字でも挿入する唯一の方法は、挿入ポイントまでのすべての文字を読み取り、それらを 2 番目のファイルに書き込み、新しい文字を 2 番目のファイルに書き込むことです。 、次に他のすべての文字をコピーします。
それが終わったら、両方のファイルを閉じて元のファイルを削除し、新しいファイルの名前を古い名前に変更します。
これはテキストを含む PITA ですが、JSON データがファイルに含まれている場合はさらに悪化します。なぜなら、JSON アプリが理解できるように構造化されており、人間が (訓練を受けて) 読むことができるように構造化されているためです。 JSON データを読み取って処理し、後で何かを追加したいオブジェクトの末尾を見つけなければ、データ内のオブジェクトの開始位置と終了位置を判別する方法です。 つまり、アプリは、そのために記述したコードで JSON を非常によく理解する必要があるだけでなく、文字列をテキスト ファイルに挿入する方法も理解する必要があります。
オブジェクトを既存のデータに定期的に挿入 (または更新または削除) したい場合は、JSON を使用しないでください。ファイル形式とそれを処理するライブラリ コードが、簡単かつ信頼できるように設計されている適切なデータベースを使用してください。
[ad_2]
コメント