Click here to Skip to main content
15,884,537 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello,
I am trying to fill my Datatable using my database records
strQuery = "SELECT  Enquiry_Header.UserId, Product_master.ProductShortName_EN, Enquiry_Details.Price, Enquiry_Details.Quantity, " +
           " Enquiry_Header.EnquiryTotalAmount, Enquiry_Header.USD_Price" +
           " FROM  Enquiry_Details" +
           " INNER JOIN Enquiry_Header ON Enquiry_Details.EnquiryID = Enquiry_Header.EnquiryID" +
           " INNER JOIN Product_master ON Enquiry_Details.ProductID = Product_master.ProductId" +
           " WHERE (Enquiry_Header.UserId = '" U001+ "')";
           reader.Close();
           OleDbCommand cmd1 = new OleDbCommand(strQuery, con);
           DataTable t1 = new DataTable();
           using (OleDbDataAdapter a = new OleDbDataAdapter(cmd1))
           {
               a.Fill(t1);
           }



But i get my datatable blank.i don't know why.please help
Posted
Comments
Om Prakash Pant 23-Aug-13 1:11am    
Try running the query and see if you are getting records.
kishore sharma 23-Aug-13 1:15am    
Did you executed this query directly in database?
Priyanka Bhagwat 23-Aug-13 2:31am    
yes when i execute Query in data base it does show me records

Please try this and check data in database table.

C#
strQuery = "SELECT  Enquiry_Header.UserId, Product_master.ProductShortName_EN,   Enquiry_Details.Price, Enquiry_Details.Quantity, " +
            " Enquiry_Header.EnquiryTotalAmount, Enquiry_Header.USD_Price" +
            " FROM  Enquiry_Details" +
            " INNER JOIN Enquiry_Header ON Enquiry_Details.EnquiryID = Enquiry_Header.EnquiryID" +
            " INNER JOIN Product_master ON Enquiry_Details.ProductID = Product_master.ProductId" +
            " WHERE (Enquiry_Header.UserId = '" U001+ "')";     
           
            //reader.Close();
            OleDbCommand cmd1 = new OleDbCommand(strQuery, con);
            con.Open();
            DataTable t1 = new DataTable();
            using(IDataReader dr = cmd1.ExecuteReader())
            {           
                t1.Load(dr);
            }
 
Share this answer
 
Comments
Priyanka Bhagwat 23-Aug-13 4:45am    
hello Sandeep,
i tried this code bit still its giving me NULL datatable
Sandeep Singh Shekhawat 23-Aug-13 5:01am    
Have you run this query in Sql Query Editor in SSMS and it is returning data from database table? If it does not return any result set then we get empty table.
Priyanka Bhagwat 23-Aug-13 5:20am    
yes,i get answer for my query,i am also confused for the same reason if the Query is working f9 why is not able to add to the datatable
I don't knw how but this solution worked for me!!!!! :) :)

strQuery = "SELECT  Enquiry_Details.ProductId, Product_master.ProductCode, Enquiry_Header.UserId, Product_master.ProductShortName_EN, Enquiry_Details.Price, Enquiry_Details.Quantity, " +
            " Enquiry_Header.EnquiryTotalAmount as [Total], Enquiry_Header.USD_Price" +
            " FROM  Enquiry_Details" +
           " INNER JOIN Enquiry_Header ON Enquiry_Details.EnquiryID = Enquiry_Header.EnquiryID" +
            " INNER JOIN Product_master ON Enquiry_Details.ProductID = Product_master.ProductId" +
           " WHERE (Enquiry_Header.UserId = '"+ fuid+ "')";           
          
           OleDbDataAdapter adp = new OleDbDataAdapter(strQuery, con);
           DataTable dt = new DataTable();
           adp.Fill(dt);
 
Share this answer
 
Comments
Sandeep Singh Shekhawat 23-Aug-13 11:01am    
This solution is working because you have modified your sql query that assigned in string variable strQuery. If you would use same sql query in solution one than that solution will be work for you. Thanks

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900