【发布时间】:2013-03-28 11:58:02
【问题描述】:
我正在使用 Firebird 2.5 和 asp.net (4.5)。
我正在尝试找出如何使用插入...返回或类似的方法。
使用 fbDataReader,它执行插入 OK,但无论如何我都找不到访问返回值的方法。使用 fbDataReader.GetName(0) 似乎工作正常,在“返回”子句中返回变量名。这甚至适用于子选择中的 max(): .....返回(从用户中选择max(userid)作为newid) 返回文本“newid”。 我找不到该值的可用位置或是否可用。
使用 fbDataAdaptor 填充 DataTable,插入工作正常,但数据表似乎为空。
有谁知道这是否可行,如果可以,是如何做到的?
谢谢
编辑
提供的代码:
strConn = ....
dbConn = New FirebirdSql.Data.FirebirdClient.FbConnection(strConn)
dbConn.Open()
MySQL = "insert into users (Firstname, Lastname) VALUES (@fname,@lname) returning userid"
FbC = New FirebirdSql.Data.FirebirdClient.FbCommand(MySQL, dbConn)
FbC.Parameters.Add("fname", FirebirdSql.Data.FirebirdClient.FbDbType.Text).Value = "Pete"
FbC.Parameters.Add("lname", FirebirdSql.Data.FirebirdClient.FbDbType.Text).Value = "Davis"
FbDataReader = FbC.ExecuteReader()
FbDataReader.Read()
TextBox1.Text = FbDataReader.GetName(0)
'TextBox1.Text = str(FbDataReader.GetInt64())
'TextBox1.Text = FbDataReader.GetString(0)
TextBox1.Text = FbDataReader.GetValue(0)
【问题讨论】:
-
我删除了我的原始答案史蒂夫,希望有人会发现未回答的问题并介入。我尝试添加额外的信息,但编辑没有显示:(