|
はつねさん、回答ありがとうございます。
> OleDbDataAdapterのUpdateCommandにはどのようなSQL文を設定しているのでしょうか。 > もし、CommandBuilderにて設定しているのであれば、DataSetに取得したときにDataSetの該当テーブル >に主キーは貼られていますか。 ConnmandBuilderで設定しているのですが、主キーの設定をしておりませんでした。 そこで主キーの設定をいれて下記の様に作成したのですが、主キーに設定した箇所の内容が、 「System.Data.DataRow」とDBに反映され、更新が上手くいきません。 原因が分からないので、教えてもらえないでしょうか。 よろしくお願いします。
OleDbDataAdapter Da = new OleDbDataAdapter("SELECT * FROM テーブル1", Conn);
DataSet Ds = new DataSet();
OleDbCommandBuilder Cb = new OleDbCommandBuilder(Da);
Da.Fill(Ds,"テーブル1");
DataRow Dr;
Ds.Tables["テーブル1"].PrimaryKey = new DataColumn[] {Ds.Tables["テーブル1"].Columns["ID"]};
Dr = Ds.Tables["テーブル1"].NewRow();
Dr["ID"] = Ds.Tables["テーブル1"].Rows.Find(ID.Text); Dr["名前"] = name.Text; Dr["表示"] = 0;
Ds.Tables["テーブル1"].Rows.Add(Dr);
Da.Update(Ds,"テーブル1");
Conn.Close();
dataGridView1.DataSource = Ds.Tables[0];
|