【发布时间】:2014-06-06 09:14:21
【问题描述】:
以下是我的PostgreSQL 表结构和要插入到表中的vb.net 代码。使用Devart's Component For PostgreSQL Connect
表 gtab83
CREATE TABLE gtab83
(
orderid integer NOT NULL DEFAULT nextval('seq_gtab83_id'::regclass),
acid integer,
slno integer,
orderdte date
)
表 gtab84
CREATE TABLE gtab84
(
orderdetid integer DEFAULT nextval('seq_gtab84_id'::regclass),
productid integer,
qty integer,
orderid integer
)
要插入上表的代码如下
'1.)INSERT INTO gtab83(orderid,acid, slno, orderdte) VALUES (?, ?, ?);
'2.)INSERT INTO gtab84(orderdetid,productid, qty, orderid) VALUES (?, ?, ?);
Try
Dim cmd As PgSqlCommand = New PgSqlCommand("", Myconnstr)
cmd.CommandText = _
"INSERT INTO GTAB83(ACID,SLNO,ORDERDTE)" & _
"VALUES " & _
"(@acid,@slno,@orderdte);"
Dim paramAcid As PgSqlParameter = New PgSqlParameter("@acid", PgSqlType.Int, 0)
Dim paramSlno As PgSqlParameter = New PgSqlParameter("@slno", PgSqlType.Int, 0)
Dim paramOrderdte As PgSqlParameter = New PgSqlParameter("@orderdte", PgSqlType.Date, 0)
paramAcid = cboCust.SelectedValue
paramSlno = txtOrderNO.Text #ERROR#
paramOrderdte = (txtDate.Text, "yyyy-MM-dd") #ERROR#
Catch ex As Exception
End Try
错误:
“字符串”类型的值无法转换为“Devart.data.postgresql.PgSqlParameter”
【问题讨论】:
-
你可能想要
paramAcid.Value = cboCust.SelectedValue等 -
你说得对……我忘了放.value
标签: vb.net postgresql sql-insert parameterized