私はあなたの助けを求めます。C#既存のテーブルの列にプライマリキーを作成する方法
:問題は、私は2つのテーブルを関連付けるためにしようとしていますので、私はそれぞれの「ID」列のテーブルの主キーを作成する必要がありますが、私はこの行のエラーThis constraint cannot be enabled as not all values have corresponding parent values.
ds.Relations.Add(dr);
エラーを取得していますということです
(=スペイン語で元のエラーはありませんそれ自体puede habilitar ESTArestricción屋QUEトドスロスvaloresなしチーネンロスvalores primarios correspondientes。)
私が間違って何をしているのですか?
OdbcDataAdapter sdata = new OdbcDataAdapter("SELECT * FROM componentes WHERE nombre_componente ILIKE '%" + buscar + "%'", conn);
OdbcDataAdapter sdata2 = new OdbcDataAdapter("SELECT * FROM proveedores WHERE nombre_empresa ILIKE '%" + buscar + "%'", conn);
DataSet ds = new DataSet();
DataTable dtbl = new DataTable("dtbl");
DataTable dtbl2 = new DataTable("dtbl2");
sdata.Fill(dtbl);
sdata2.Fill(dtbl2);
ds.Tables.Add(dtbl);
ds.Tables.Add(dtbl2);
dtbl.PrimaryKey = new DataColumn[] { dtbl.Columns["id"] };
dtbl2.PrimaryKey = new DataColumn[] { dtbl2.Columns["id"] };
DataRelation dr = new DataRelation("provcomp",
ds.Tables["dtbl"].Columns["id_prov_comp"],
ds.Tables["dtbl2"].Columns["id"]);
ds.Relations.Add(dr);
ds.AcceptChanges();
ありがとうございます。
私は、人々がプライマリと外部キーの値をC#で使用するのを見たことがありません。彼らは必要なものを得るためにlinqを使用しています。あなたの目標は何ですかなぜこれを正確に必要としますか – Neil
問題はプライマリキーではなく、DataRelationにあります。DataRelationを作成するには、子テーブルのすべての値が親テーブル内にある必要があります。子テーブル(この例ではid_prov_comp)に0(nullではなく)を持つ最も一般的な理由 –