c# - How do I properly use a SqlDataReader? -
i have 2 methods below :
internal static sqldatareader selectdata(string sql) { using (var sqlconnection = new sqlconnection(constant.connectionstring)) { sqlconnection.open(); var sqlcommand = new sqlcommand(sql, sqlconnection); var datareader = sqlcommand.executereader(); return datareader; } } ============
and using method :
var datareader = selectdata(---some sql ---); private void adddata(datareader) { while (datareader.read()) { employee e = new employee(); e.firstnamei = datareader["name"].tostring(); } datareader.close(); } i know can merge 2 method, looking @ better way write this, or can cause problem??
actually in fact leaving open bit. want write this:
using (sqlconnection cnn = new sqlconnection(cnnstring)) using (sqlcommand cmd = new sqlcommand(sql, cnn)) { // use parameters in sql statement too, can // , protect sql injection, example // select * table field1 = @parm1 cmd.parameters.addwithvalue("@parm1", val1); cnn.open(); using (sqldatareader r = cmd.executereader()) { } } because need make sure these objects disposed. further, going direction don't need datareader.close(). called when gets automatically disposed using statement.
now, wrap collection of statements inside try...catch , you're in business.
Comments
Post a Comment