locked
Displaying Count in c#.net and Oracle RRS feed

  • Question

  • User-1578974752 posted

    Hi

    DataSet ds = ORSQLSelectRecord("select count(RollNUMBER) FROM rHEADERS_ALL a, rDETAILS_ALL b WHERE a.id = b.id AND vcode='05'");

    Rollcount.Text =

     I am getting correct count from the select statement ,but how to show the Count in a textbox

    Thanks

    Thursday, November 19, 2020 10:03 AM

All replies

  • User753101303 posted

    Hi,

    A DataSet is a set of tables each table having rows and each row having columns so ds.Tables[0].Rows[0].Columns[0].ToString() should work.

    If having this available it seems it could be best to have something such as https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcommand.executescalar?view=netframework-4.8 which is intended to return a single value from a query.

    Not directly related but you should likely favor the https://www.w3schools.com/sql/sql_join.asp syntax over using FROM a,b

    Thursday, November 19, 2020 10:22 AM
  • User-1578974752 posted

    Hi PatricesSc

    Showing error in  Int32 count = (Int32)cmd.ExecuteScalar();     

    System.InvalidCastException: 'Specified cast is not valid.'

    Below is my code

    string constr = "User Id=abc;Password=xz;Data Source=Test";
                        OracleConnection con = new OracleConnection(constr);
                        con.Open();

                        string cmdQuery = ORSQLSelectRecord("select count(RollNUMBER) FROM rHEADERS_ALL a, rDETAILS_ALL b WHERE a.id = b.id AND vcode='05'");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

                        // Create the OracleCommand
                        OracleCommand cmd = new OracleCommand(cmdQuery);

                        cmd.Connection = con;
                        cmd.CommandType = CommandType.Text;

                        Int32 count = (Int32)cmd.ExecuteScalar();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Friday, November 20, 2020 2:09 AM
  • User1535942433 posted

    Hi shsu,

    Accroding to your description,I suggest you need to debug and  check these:

    1."select count(RollNUMBER) FROM rHEADERS_ALL a, rDETAILS_ALL b WHERE a.id = b.id AND vcode='05'"  this count >0.

    2. ExecuteScalar() is an integer value? Or it is a decimal?

    3.I suggest you could use like this:

    int count = 0;
    count=Convert.ToInt32(cmd.ExecuteScalar());

    Best regards,

    Yijing Sun

    Friday, November 20, 2020 2:38 AM
  • User-1578974752 posted

    count=Convert.ToInt32(cmd.ExecuteScalar());     ->count is showing as 10 ( correct number )but I couldn't assign that value to partcount.text (textbox).Cannot implicitly convert int to string is the message showing

    int count = 0; count=Convert.ToInt32(cmd.ExecuteScalar());

    Partcount.Text =count ;

    Friday, November 20, 2020 2:59 AM
  • User1535942433 posted

    Hi shsu,

    You could replace:

    Partcount.Text =count ;

    to:

    Partcount.Text =count.ToString();

    Best regards,

    Yijing Sun

    Friday, November 20, 2020 5:13 AM