【解決方法】新しい json データをテキスト ファイルに挿入する方法

[ad_1]

テキスト ファイルを読みました テキスト ファイルに新しいデータを挿入する必要があります
これは私がテキストファイルを読んだ方法です

C#
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;

私が試したこと:

テキストファイルに新しいデータを追加するだけです
新しいデータを追加する方法

私のデータベースには

C#
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]

コメント

タイトルとURLをコピーしました