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

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -