Home > Net >  Using C# and Dapper/SQLite core packages how do I print the SQLite database data and how do I do the
Using C# and Dapper/SQLite core packages how do I print the SQLite database data and how do I do the

Time:01-29

I am very new to C# (been learning for approximately 6 months in my free time).

I have produced a script which can store data in an SQLite Database that seems to work fine for the minute. I am having trouble printing the entire table and/or specific data from the table. When I get to the point when it should print off the data it gives me the following:

enter image description here

This is the solution name and the data class. ** Here is main program code relating to loading data from database:**

private void LoadGymList()
        {
            Console.WriteLine("Load Gym List Working");
            List<GymEntry> entries = new List<GymEntry>();

            entries = SQLiteDataAccess.LoadEntry();


            Console.WriteLine(entries[0]);
        }

**Here is the SQLiteDataAccess code for loading entries: **

namespace GymAppLists
{
    public class SQLiteDataAccess
    {
        public static List<GymEntry> LoadEntry()
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString()))
            {
                var output = cnn.Query<GymEntry>("select * from GeneralLog", new DynamicParameters());
                return output.ToList();
            }
        }

Only other files are app.config and a basic class for 'id' and 'date' which are the only two database columns in the single table of the database.

I tried to print individual indexes of the list to see if it would print those, but it simply gave me the previous output. I am stumped as to why this is working this way. It is clearly accessing the database, but it must be formatted incorrectly or I am not using the correct method to access the specifics of the data.

If I print the list.count, it provides me with the correct number of rows in the db for example.

I imagine this is a very simple fix, any advice would be greatly appreciated.

thank you,

JH.

CodePudding user response:

You are only writing the first element of the entries list (Console.WriteLine(entries[0])) and also you are only printing the object itself. Instead use a loop and print the properties. ie:

foreach(var x in entries)
{
  Console.WriteLine($"Id:{x.Id}, Date:{x.Date}");
}
  • Related