私は Firebird 2.5 と asp.net (4.5) を使用しています。
insert ... return の使用方法、または同等のものを見つけようとしています。
fbDataReader を使用すると、挿入は OK で実行されますが、戻り値にアクセスする方法がわかりません。fbDataReader.GetName(0) を使用すると問題なく動作するようで、「returning」句で変数名を返します。これは、サブセレクトの max() にも適用されます: ..... return (select max(userid) as newid from users) は、テキスト「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)