2012-02-25 11 views
1

私は検索してきましたが、私は方法がわからず、これで新しくなりました。誰かが私を助けてくれたら、感謝しています!PostgresとC#を使ってどこに挿入する

問題は、多くのものをFarmacoというテーブルに挿入する必要があるということです。 私のテーブルFarmaco:idFarmaco除く

CREATE TABLE "Farmaco" (
    "idFarmaco" bigint NOT NULL DEFAULT nextval('idfarmaco'::regclass), 
    "Nombre" character varying(100) NOT NULL, 
    "PrecioReferencial" real NOT NULL, 
    "Descripcion" character varying(500), 
    "Stock" integer NOT NULL, 
    "MinStock" integer, 
    "MaxStock" integer, 
    "idPresentacion" integer NOT NULL, 
    "idTipo" integer NOT NULL, 
    "idUnidadDeManejo" integer NOT NULL, 
    "idMarca" integer NOT NULL, 
    CONSTRAINT "PKFarmaco" PRIMARY KEY ("idFarmaco"), 
    CONSTRAINT "FKFarmaco_Marca" FOREIGN KEY ("idMarca") 
     REFERENCES "Marca" ("idMarca") MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT "FKFarmaco_Presentacion" FOREIGN KEY ("idPresentacion") 
     REFERENCES "Presentacion" ("idPresentacion") MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT "FKFarmaco_Tipo" FOREIGN KEY ("idTipo") 
     REFERENCES "Tipo" ("idTipo") MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT "FKFarmaco_UnidadDeManejo" FOREIGN KEY ("idUnidadDeManejo") 
     REFERENCES "UnidadDeManejo" ("idUnidadDeManejo") MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION 
) 
WITH (
    OIDS=FALSE 
); 
ALTER TABLE "Farmaco" 
    OWNER TO "Daniel"; 

すべてのidのは、他のテーブルのForeingキーです。これらのテーブルには2つの列、id 1とname 1があります。私のプログラムコードでは、それらの名前はコンボボックスにリストされています。どのような私に必要なのは、データが選択されていることfarmacoすべてに挿入することであり、などの例

については

名前は、私はテーブルこの「Farmaco」に挿入する:

"Nombre": Stack (textbox) 
"PrecioReferencial": 150.30 (textbox) 
"Descripcion" : spensive (textbox) 
"Stock" : 20 (textbox) 
"MinStock" : 10 (textbox) 
"MaxStock" : 50 (textbox) 
"idPresentacion" : Caja (this was selected in the combobox) 
"idTipo" : Medicina (this was selected in the combobox) 
"idUnidadDeManejo": Unidad (this was selected in the combobox) 
"idMarca" : Bayer (this was selected in the combobox) 

すべてのものをidはデータベースに格納されていて、アルファベット順にソートされたクエリでそれらを埋めていますが、今はどのようにしてクエリを作成するのかわからないので、すべてのテキストをテクスチャボックスに挿入できます。あなたはリサイズプロジェクトを使用していると仮定すると、

insert into "Farmaco" ("idPresentacion", "idTipo", "idMarca", "idUnidadDeManejo") 
values (cbPresentacion.SelectedItem.ToString(), ...) 

答えて

1

あなたが探している:あなたは、コンボボックスのデータソースを提供して設定することができます

遠く私がきGETはこれですディスプレイメンバーとデータメンバー。 displaymemberは、コンボボックスに選択肢として表示されるメンバーです。datamemberは、選択したdisplaymemberに対応するシーンの背後で使用したメンバーです。あなたの場合:あなたのテーブルPresentacionからの情報を持つデータソースを作成し、datamemberとしてIDPresentacionを設定し、displayMemberとしてNamePresentacionを設定します。

+0

nop、コンボボックスのcuz私はidではなく名前を持っています。例えば。私のテーブルPresentacionには、列idPresentacionと列NamePresentacionがあります。ソートされているため、SelectedIndexとidの間には対応がありません。私はテーブルで比較する必要があるので、私はその名前のIDを得ることができます – dbncourt

0

Insert into "Farmaco" 
Select "idPresentacion", "idTipo", "idMarca", "idUnidadDeManejo" 
From "Presentacion", "Tipo", "Marca", "UnidadDeManejo" 
Where "NombrePresentacion" = 'Here should be the text in the ComboBox cbPresentacion.SelectedItem.ToString()' AND "NombreTipo" = '...... 
+0

ナー、今のところ私はすべてのIDを取得し、簡単な挿入を行うつもりですが、私はちょうど挿入でそれを行う方法があるはずです知っているidsのすべての名前を取得します。 – dbncourt

関連する問題