Вставить в где с помощью Postgres и C # - PullRequest
1 голос
/ 25 февраля 2012

Я искал, но не знаю как, и я новичок в этом, поэтому, если кто-то может мне помочь, я буду благодарен!

Проблема в том, что мне нужновставить в таблицу под названием Farmaco много вещей.Мой стол Farmaco:

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";

Все идентификаторы, кроме idFarmaco, являются Foreing Keys других таблиц.Эти таблицы имеют только 2 столбца, идентификатор один и имя один.В моем программном коде эти имена перечислены в выпадающих списках.Что мне нужно, это вставить в 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)

все эти идентификаторы хранятся в базе данных, и я заполняю их запросом, отсортированным в алфавитном порядке, но теперь я не знаю, как сделать запрос, чтобы я мог вставить соответствующие идентификаторы со всем текстом в текстовых полях.

Чем дальше я получаю это:

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" = '......

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Вы ищете:

insert into "Farmaco" ("idPresentacion", "idTipo", "idMarca", "idUnidadDeManejo")
values ( cbPresentacion.SelectedItem.ToString(), ... ) 
0 голосов
/ 25 февраля 2012

Предполагается, что вы используете проект winforms: вы можете предоставить источник данных для комбинированного списка и установить элемент отображения и элемент данных. Элемент отображения - это элемент, который отображается как элемент выбора в выпадающем списке, а элемент данных - это элемент, который вы использовали за кулисами и который соответствует выбранному элементу отображения. В вашем случае: создайте источник данных с информацией из вашей таблицы Presentacion и установите idPresentacion в качестве datamember и NamePresentacion в качестве displaymember

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...