0

How to get first four value from datarow as I already done select part, but how to index each datarow value, so that I can use each of the Teacher_Name string. I have tried following code, but doesn't work. Can please assist? Thanks.

        cmd.CommandText = "SELECT DISTINCT Teacher_Name from " + myTeacher + " Order by Sum_Weekly_Credit desc LIMIT 4";

        DataTable dt = new DataTable();
        SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
        da.Fill(dt);

        string[] FourTeachers = new string[dt.Rows.Count];
        int i = 0;
        foreach (DataRow dr in dt.Rows)
        {
            FourTeachers[i] = dr["Teacher_Name"].ToString();
            string FT0 = FourTeachers[0];
            string FT1 = FourTeachers[1];
            string FT2 = FourTeachers[2];
            string FT3 = FourTeachers[3];
            //                MessageBox.Show("" + Convert.ToInt32(dr["Teacher_Name"].ToString()));
            i++;
        }

        for (int j = 1; j < 21; j++)
        {
            string FT0 = FourTeachers[0];
            string FT1 = FourTeachers[1];
            string FT2 = FourTeachers[2];
            string FT3 = FourTeachers[3];
            cmd2.CommandText = "SELECT FT0, FT1, FT2, FT3 FROM group_even_" + j + " Order by Sum(Weekly_Credit) desc";

            DataTable dt2 = new DataTable();
            SQLiteDataAdapter da2 = new SQLiteDataAdapter(cmd2);
            da2.Fill(dt2);
            int FT = dt2.Rows.Count;
Michael
  • 11
  • 3

1 Answers1

0

Then why don't you change the SQL query itself like below [Assuming SQL Server]

cmd.CommandText = "SELECT DISTINCT TOP 4 Teacher_Name from " + myTeacher + " Order by Sum_Weekly_Credit desc"
Rahul
  • 76,197
  • 13
  • 71
  • 125