良い一日!
私はC#が初めてです。
Windows フォームに DataSet があり、DataSet にレコードを追加しました。次に、 TableAdapter.Update(MyTable) (RowState は追加モードです) を呼び出します。変更が行われ、SQL MyTable にバインドされた DataGridView で確認できます。アプリケーションを閉じて再起動すると、追加されたレコードが表示されます。
private void button1_Click(object sender, EventArgs e)
{
DimaeSQLDS dsAddToDima = new DimaeSQLDS();
using (DimaeSQLDSTableAdapters.OrganizationsTableAdapter orgAdapter = new DimaeSQLDSTableAdapters.OrganizationsTableAdapter())
{
orgAdapter.Fill(dsAddToDima.Organizations);
DimaeSQLDS.OrganizationsRow organizationsRow = dsAddToDima.Organizations.NewOrganizationsRow();
organizationsRow.Address = tbINN.Text;
organizationsRow.OrgName = tbOrgName.Text;
organizationsRow.UrFiz = 0;
dsAddToDima.Organizations.Rows.Add(organizationsRow); //adds row to DataSet
this.Validate();
orgAdapter.Update(dsAddToDima.Organizations);
}
this.Close();
}
今私の問題です:
サーバー エクスプローラー -> MyTable (レコードを追加した場所) -> [テーブル データの表示] を右クリックすると、テーブルにレコードが追加されていないことがわかります。次に、アプリケーションを再度開始します... MyTable を調べた後、新しく追加したレコードが削除されました。
この魔法が理解できない!私を助けてください!
!!!!アップデート!!!!!
これが私の最初のフォームです。親フォーム
namespace DimaeApplication
{
public partial class fOrganizations: Form
{
#region variables
fAddOrganization addOrganization;
fContainer container;
#endregion
public fOrganizations()
{
InitializeComponent();
}
private void fOrganizations_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'dimaeSQLDS.Organizations' table. You can move, or remove it, as needed.
this.organizationsTableAdapter.Fill(this.dimaeSQLDS.Organizations);
}
public void ReloadBindigs(object sender)
{
if (this.tbSearchOrganization.Text == string.Empty)
this.organizationsTableAdapter.Fill(this.dimaeSQLDS.Organizations);
else
try
{
string searchParam = "%" + this.tbSearchOrganization.Text + "%";
this.organizationsTableAdapter.FillBy(this.dimaeSQLDS.Organizations, searchParam);
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
private void tsbCreateOrg_Click(object sender, EventArgs e)
{
if (addOrganization == null || addOrganization.IsDisposed)
{
addOrganization = new fAddOrganization();
addOrganization.MdiParent = container ;
addOrganization.Show();
}
}
}
}
私の第二形態。子。ここにレコードを追加します
namespace DimaeApplication
{
public partial class fAddOrganization : Form
{
public fAddOrganization()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DimaeSQLDS dsAddToDima = new DimaeSQLDS();
using (DimaeSQLDSTableAdapters.OrganizationsTableAdapter orgAdapter = new DimaeSQLDSTableAdapters.OrganizationsTableAdapter())
{
orgAdapter.Fill(dsAddToDima.Organizations);
DimaeSQLDS.OrganizationsRow organizationsRow = dsAddToDima.Organizations.NewOrganizationsRow();
organizationsRow.Address = tbINN.Text;
organizationsRow.OrgName = tbOrgName.Text;
organizationsRow.UrFiz = 0;
dsAddToDima.Organizations.Rows.Add(organizationsRow); //adds row to DataSet
this.Validate();
orgAdapter.Update(dsAddToDima.Organizations);
}
this.Close();
}
private void fAddOrganization_FormClosed(object sender, FormClosedEventArgs e)
{
fOrganizations org = new fOrganizations();
org.ReloadBindigs(org);
}
}
}
フォームごとにコードを生成する必要があるかどうか教えてください。
とにかくありがとうございました!!