【发布时间】:2017-07-03 16:00:49
【问题描述】:
我正在使用 Sybase 服务器,项目通过 DataSet 连接到数据库。 我在我的 tableAdapter 上创建了插入查询
INSERT INTO DBA.opt_port(port, port_level, prim, kluch_raz, speed, agr_port, port_bad)
VALUES (?, ?, ?, ?, ?, ?, ?)
查询执行模式设置为标量,但调用此查询后总是返回 null。
var newId = opt_portTableAdapter.InsertNewPort(int.Parse(textBox1.Text), int.Parse(textBox2.Text),
textBox3.Text, kluch, int.Parse(textBox4.Text), ToNullableInt(textBox5.Text),
ToNullableInt(textBox6.Text))
我还在查询参数集合中添加了参数,将 Direction 设置为 ReturnValue 并将 SourceColumn 设置为我的主键,但结果仍然为空。 当我手动检查表中的新记录时,它存在并且它的 pKey 已设置。 插入行后如何获取主键?
表创建查询是
CREATE TABLE "DBA"."opt_port" (
"port" smallint NOT NULL,
"port_level" smallint NOT NULL DEFAULT 1,
"prim" char(128) NULL,
"n_pp" integer NOT NULL DEFAULT autoincrement,
"kluch_raz" smallint NULL,
"speed" smallint NULL,
"agr_port" smallint NULL,
"port_bad" smallint NULL,
PRIMARY KEY ( "n_pp" )
);
【问题讨论】:
-
尝试使用您传递的参数直接在 sql 中执行该过程并检查!
标签: c# sql dataset sybase tableadapter