0

私はデータベースと C# の世界に比較的慣れていないので、C# プログラムで行った変更に応じてデータ テーブルを更新するのに問題があります。データベースにコマンドを発行するために TableAdapter を使用しています。

私のプログラムには、新しい行をデータ テーブルに追加できるフォームがあります。プログラムの残りの部分は、データベースにクエリを実行することで新しい情報にアクセスできるため、これが機能すると私が知る限りでは.

    this.patientInfoTableTableAdapter.InsertNewPatient(
                this.FirstName, this.LastName, this.StreetAddress, this.City, this.State, this.Zip,
                this.Email, this.Phone, this.DOB, this.Gender);

プログラムの実行を停止して再起動することもでき、追加されたデータには引き続きアクセスできます。ただし、データ テーブルを直接表示すると、追加された行は存在せず、次にプログラムを実行すると、プログラムから見てもテーブルは変更されていない状態に戻ります。

このプロセスを実行するたびに使用する Update メソッドがありますが、追加された行の保持や既存の行への変更には影響しません。

    this.Validate();
    this.patientInfoTableBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.eMRSDatabaseDataSet);
    MessageBox.Show("Update Successful");

MessageBox が常に表示され、エラーは発生しません。

データベースの設定またはプロパティの一部が間違っているという結論に達しました。問題を解決するための助けを借りることができます。

それが役立つ場合、関連するコードのデータベースクエリは次のとおりです。

    INSERT INTO [PatientInfoTable] ([First_Name], [Last_Name], [Street_Address], [City], [State], [Zip], [Email], [Phone], [DOB], [Gender]) VALUES (@fName, @lName, @sAddress, @city, @state, @zip, @email, @phone, @dob, @gender)

    UPDATE       PatientInfoTable
    SET                Street_Address = @saddress, City = @city, State = @state, Zip = @zip, Email = @email, Phone = @phone, Gender = @gender
    WHERE        (Patient_ID = @p11)

これらのクエリは、Visual Studio クエリ ビルダーを使用して生成されました。

どんな提案でも大歓迎です!

4

1 に答える 1