Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/04/08 18:39:11 (16 years ago)
Author:
gkronber
Message:

fixed a bug in the method to query items and added two columns (id and creation date) to the statement table. (ticket #261 (Items are stored multiple times in the result entries in the CEDMA DB))

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.CEDMA.DB/Database.cs

    r537 r541  
    7575            }
    7676            using(DbCommand cmd = cnn.CreateCommand()) {
    77               cmd.CommandText = "CREATE TABLE Statement (subject GUID, predicate GUID, property GUID)";
     77              cmd.CommandText = "CREATE TABLE Statement (id integer primary key autoincrement, subject GUID, predicate GUID, property GUID, CreationTime DateTime)";
    7878              cmd.Transaction = t;
    7979              cmd.ExecuteNonQuery();
     
    682682            DbParameter predParam = c.CreateParameter();
    683683            predParam.ParameterName = "@Predicate";
    684             predParam.Value = predicate;
     684            predParam.Value = predicate.ToString();
    685685            c.Parameters.Add(predParam);
    686686            DbParameter propertyParam = c.CreateParameter();
    687687            propertyParam.ParameterName = "@Property";
    688             propertyParam.Value = property;
     688            propertyParam.Value = property.ToString();
    689689            c.Parameters.Add(propertyParam);
    690690            using(DbDataReader r = c.ExecuteReader()) {
    691               r.Read();
    692               ItemEntry item = new ItemEntry();
    693               item.Guid = r.GetGuid(0);
    694               item.RawData = (byte[])r.GetValue(1);
    695               items.Add(item);
     691              while(r.Read()) {
     692                ItemEntry item = new ItemEntry();
     693                item.Guid = r.GetGuid(0);
     694                item.RawData = (byte[])r.GetValue(1);
     695                items.Add(item);
     696              }
    696697            }
    697698          }
     
    737738            using(SQLiteCommand c = cnn.CreateCommand()) {
    738739              c.Transaction = t;
    739               c.CommandText = "insert into Statement (Subject, Predicate, Property) values (@Subject, @Predicate, @Property)";
     740              c.CommandText = "insert into Statement (Subject, Predicate, Property, CreationTime) values (@Subject, @Predicate, @Property, @CreationTime)";
    740741              DbParameter subjectParam = c.CreateParameter();
    741742              subjectParam.ParameterName = "@Subject";
     
    750751              propertyParam.Value = property.Guid.ToString();
    751752              c.Parameters.Add(propertyParam);
     753              DbParameter timeParam = c.CreateParameter();
     754              timeParam.ParameterName = "@CreationTime";
     755              timeParam.Value = DateTime.Now;
     756              c.Parameters.Add(timeParam);
    752757              c.ExecuteNonQuery();
    753758            }
Note: See TracChangeset for help on using the changeset viewer.