Note that there are some explanatory texts on larger screens.

plurals
  1. POAdding rows to the Datatable in c#
    primarykey
    data
    text
    <p>I am working on a project and i want to add rows to the Datatable and what is happening is if i am fetching two rows from the database only one of the two is being added to the datatable but i want both to be added to the datatable i.e the datatable is not able to hold the data of first row,the data is being overwrite by data of second row. the code of the method is. this is my calling statement.</p> <pre><code> DataTable dttable = new DataTable(); dttable = gettable(dtgreater, dtcurrentdate); public DataTable gettable(List&lt;DateTime&gt; objct1, DateTime objct2) { DataTable data=null; for (int j = 0; j &lt; dtgreater.Count; j++) { sql = "select library_issue.STUDENTCODE,library_issue.studentname,library_book.bookname,library_issue.issuedate,library_issue.returndate from library_issue join library_book on library_book.book_id = library_issue.book_id where library_issue.returndate ='" + objct1[j].ToString("dd/MM/yyyy") + "'"; ds = obj.openDataset(sql, Session["SCHOOLCODE"].ToString()); Label1.Text = (ds.Tables[0].Rows.Count).ToString(); data = new DataTable(); data.Columns.Add("STUDENTCODE", typeof(int)); data.Columns.Add("Studentname", typeof(string)); data.Columns.Add("Bookname", typeof(string)); data.Columns.Add("Issuedate", typeof(string)); data.Columns.Add("Returndate", typeof(string)); data.Columns.Add("NO of Days Exceeded", typeof(string)); for (int i = 0; i &lt; ds.Tables[0].Rows.Count; i++) { TimeSpan ts = objct1[j] - objct2; Label1.Text = ts.ToString("dd"); data.Rows.Add(ds.Tables[0].Rows[i]["STUDENTCODE"], ds.Tables[0].Rows[i]["studentname"], ds.Tables[0].Rows[i]["bookname"], ds.Tables[0].Rows[i]["issuedate"], ds.Tables[0].Rows[i]["returndate"], ts.ToString("dd")); } } return data; } </code></pre> <p><strong>UPDATE:</strong></p> <pre><code> public DataTable gettable(List&lt;DateTime&gt; objct1, DateTime objct2) { DataTable data = new DataTable(); data.Columns.Add("STUDENTCODE", typeof(int)); data.Columns.Add("Studentname", typeof(string)); data.Columns.Add("Bookname", typeof(string)); data.Columns.Add("Issuedate", typeof(string)); data.Columns.Add("Returndate", typeof(string)); data.Columns.Add("NO of Days Exceeded", typeof(string)); for (int j = 0; j &lt; dtgreater.Count; j++) { sql = "select library_issue.STUDENTCODE,library_issue.studentname,library_book.bookname,library_issue.issuedate,library_issue.returndate from library_issue join library_book on library_book.book_id = library_issue.book_id where library_issue.returndate ='" + objct1[j].ToString("dd/MM/yyyy") + "'"; ds = obj.openDataset(sql, Session["SCHOOLCODE"].ToString()); Label1.Text = (ds.Tables[0].Rows.Count).ToString(); for (int i = 0; i &lt; ds.Tables[0].Rows.Count; i++) { TimeSpan ts = objct1[j] - objct2; Label1.Text = ts.ToString("dd"); data.Rows.Add(ds.Tables[0].Rows[i]["STUDENTCODE"], ds.Tables[0].Rows[i]["studentname"], ds.Tables[0].Rows[i]["bookname"], ds.Tables[0].Rows[i]["issuedate"], ds.Tables[0].Rows[i]["returndate"], ts.ToString("dd")); } } return data; } </code></pre> <p><strong>Discription:</strong> As I was initializing the datatable inside the for loop which was causing the creation of new instance of datatable each time . As a result of which i was getting only one rows each time. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload