.net - How to execute a stored procedure containing INSERT and SELECT both statements -
in stored procedure, first insert query , have select statement follow:
insert () select * preferences id=@id
in ado.net, have used - datareader execute procedure.
but, not homecoming select value , not executed insert statemnt.
can 1 suggest me wrong here ???
code:
strsproc = "sproc_saveandretrieve" using cmd new data.sqlclient.sqlcommand cmd.commandtext = strsproc cmd.commandtype = data.commandtype.storedprocedure cmd.parameters.clear() cmd.parameters.addwithvalue("@tvp", createdatatablefromcollection(s, isvalueon)) cmd.parameters.addwithvalue("@groupid", sygroupid) using myreader sqldatareader = dbmanager.getdatareader(cmd) if myreader.hasrows notfoundrecords= new list(of string) while myreader.read() notfoundrecords.add(datahelper.getstring(myreader, "student")) end while end if homecoming notfoundrecords myreader.close() end using end using
thank you
procedure working file while executing sql server manually.
if not executing insert need grab error.
try { ... } grab (sqlexception ex) { debug.writeline(ex.message); } { // close connection }
the select should in nextresultset need first prepare insert.
you don't show datahelper.getstring. insert homecoming integer not string. don't believe statement no exception thrown. .net study sql error. if insert effected 0 rows should 0. if fails should exception. if inserting rows in ssms not in .net (and not throwing error) not executing same parameters in .net.
what datahelper.getstring(myreader, "student")) do? notfoundrecords list of string.
this highly suspicious first statement should homecoming int
while myreader.read() notfoundrecords.add(datahelper.getstring(myreader, "student")) end while
i expect
myreader.read() int rowinserted = myreader.getint32() myreader.nextresultset() while myreader.read() string sss = myreader.getstring() end while myreader.close()
.net ado.net executenonquery executescalar executereader
No comments:
Post a Comment