Thursday 15 July 2010

vb.net - Assigning ID to variable with parameter OUTPUT -



vb.net - Assigning ID to variable with parameter OUTPUT -

this insert query works fine within of vs20012, sql server 2008 r2. when seek execute vb code behind dbnull conversion error on line trying assign value variable after execute.

the insert not successful either, not cause seek grab error. after connection closed. weird behavior.

sqsql = "insert tbllogging (vein, num, descripbasefilename, " & _ " csvbasefilename, baseactive, diagactive) " & _ " output inserted.keyid" & _ " values (@vein, @num, @cnffil, @csvfil, 'true', 'false')" command3.parameters.addwithvalue("@vein", vein1) command3.parameters.addwithvalue("@num", veinnum) command3.parameters.addwithvalue("@cnffil", cnffil) command3.parameters.addwithvalue("@csvfil", csvfil) command3.parameters.add("@keyid", sqldbtype.int) command3.parameters("@keyid").direction = parameterdirection.output seek command3.commandtext = sqsql ocnn.open() command3.executescalar() ocnn.close()

errors out here:

**dim retkeyid integer = command3.parameters("@keyid").value** grab ex exception throw ex end seek

any ideas on doing wrong appreciated.

in context (a single insert single homecoming value) don't need output parameter value of output clause. convert homecoming value of executescalar

dim result = convert.toint32(command3.executescalar())

if want utilize @keyid output parameter need set before exiting query.

sqsql = "insert tbllogging (vein, num, descripbasefilename, " & _ " csvbasefilename, baseactive, diagactive) " & _ " values (@vein,@num,@cnffil,@csvfil,'true', 'false'); " & _ "select @keyid = scope_identity(); "

(of course of study assumes keyid identity column , not calculated kind of trigger in database)

vb.net tsql sql-server-2008-r2 output-parameter

No comments:

Post a Comment