Description
1. Do not use Dbconnection.open () in the using statement block, because the Execute method will Open and close when execution is complete.
2, in the ADO to manually open, in the using statement block when used, you can not manually close.
PublicActionResult Select () {stringsql =@"SELECT * from Info"; List<Info> list =NULL; using(IDbConnection dbConnection =NewSqlConnection (configurationmanager.connectionstrings["default"]. ToString ())) {list= dbconnection.query<info>(SQL, CommandType.StoredProcedure). ToList (); Sqlmapper.gridreader Gridreader=dbconnection.querymultiple (SQL); Gridreader.read (); } returnContent (""); } PublicActionResult Update () {stringsql =@"Update info Set [email protected] where [email protected]"; using(IDbConnection dbConnection =NewSqlConnection (configurationmanager.connectionstrings["default"]. ToString ())) {Dbconnection.execute (SQL,NewInfo () {Name ="s Zhang", age =Ten }); } returnContent (""); } PublicActionResult Delete () {stringsql =@"Delete from info where [email protected]"; using(IDbConnection dbConnection =NewSqlConnection (configurationmanager.connectionstrings["default"]. ToString ())) {Dbconnection.execute (SQL,NewInfo () {age =Ten }); } returnContent ("OK"); } PublicActionResult Insert () {stringsql ="Insert Userinfo values (' zhao2323 ', 23, ' Shanghai ')"; stringstr =""; IDbConnection dbConnection=NULL; using(DbConnection =NewSqlConnection (configurationmanager.connectionstrings["default"]. ToString ())) {str+="before <br/>execute"+dbconnection.state; Dbconnection.execute (SQL); STR+="after <br/>execute"+dbconnection.state; } STR+="after <br/>using"+dbconnection.state; returnContent ("OK"+str); //Execution Result://closed before execute//after execute closed//using after closed } PublicActionResult adonet () {stringsql ="INSERT into UserInfo values (' Zhao ', 23, ' Shanghai ')"; stringstr =""; SqlConnection Connection=NULL; using(Connection =NewSqlConnection (configurationmanager.connectionstrings["default"]. ToString ())) {using(SqlCommand command =NewSqlCommand (SQL, connection)) {connection. Open (); Command. ExecuteNonQuery (); STR+="after <br/>executenonquery:"+connection. State; } STR+="after <br/>using command:"+connection. State; } STR+="after <br/>using connection:"+connection. State; returnContent ("Ok"+str); //Execution Results//after ExecuteNonQuery: Open//after using command: Open//using connection after: Closed}
Dapper basic additions and deletions change