2016-06-23 13 views
0

ユーザーが複数のパラメータを編集できるフォームがあります。保存ボタンを押した後、これらの変更をデータベースにプッシュする必要があります。ただし、最初に行われた変更のみが実際に更新されます。これは、以下のコードでは「メモ」フィールドのみが保存されているためです。SqlDataAdapter.Update()はデータベースの複数の列を更新しません(C#)

private void button2_Click(object sender, EventArgs e) 
    { 
     DataRow row = dsCustomers.Tables["tblCustomers"].Rows[comboBoxCustomers.SelectedIndex]; 
     row["notes"] = tCompanyNotes.Text; 
     row["visit_address"] = tVisiting.Text; 
     objConnectCustomers.UpdateDatabase(dsCustomers); 
    } 

とUpdateDatabase方法:da_1以前に作成したのSqlDataAdapterある

public void UpdateDatabase(System.Data.DataSet ds) 
    { 
     System.Data.SqlClient.SqlCommandBuilder cb = new System.Data.SqlClient.SqlCommandBuilder(da_1); 
     cb.DataAdapter.Update(ds.Tables[0]); 
    } 

答えて

0

私はC#に詳しくはありませんが、更新するすべての行をループしていないと思います。私があなたに役立つだろうこの記事を願っています。ここでは特にこの部分では、実際に私が使っていたチュートリアルですリンクAdd a Record to the Dataset and Update the Database

+0

は、次のとおりです。 http://www.homeandlearn.co.uk/csharp/csharp_s12p10.html 新しい行を追加するだけで正常に動作します。 –

関連する問題