예제 #1
0
 // Use this for initialization
 void Awake()
 {
     CreateKnowledge();
     //carregar base de conhecimento
     try
     {
         knowledgeData = SaveSystem.LoadKnowledge(id);
         name          = knowledgeData.name;
         cardDown      = knowledgeData.cardDown;
         cardUp        = knowledgeData.cardUp;
         Debug.Log("base de dados carregada com sucesso");
     }
     catch
     {
         //criar base de dados
         Debug.Log("criando base de dados...");
         id       = 0;
         name     = "test";
         cardDown = new string[256];
         cardUp   = new string[256];
         SaveSystem.SaveKnowledge(this);
         //carregar base de dados
         knowledgeData = SaveSystem.LoadKnowledge(id);
         name          = knowledgeData.name;
         cardDown      = knowledgeData.cardDown;
         cardUp        = knowledgeData.cardUp;
         Debug.Log("base de dados criada com sucesso");
     }
     //knowledgeData.AddKnowledge("1", "um");
     //SaveSystem.SaveKnowledge(this);
     knowledgeData.ShowKnowledge();
 }
예제 #2
0
        public int insert(KnowledgeData kd)
        {
            int    line = 0;
            string sql  = "insert into KnowledgeData values (@type,@title,@content)";
            List <MySqlParameter> plst = new List <MySqlParameter>();

            plst.Add(new MySqlParameter("@type", kd.type));
            plst.Add(new MySqlParameter("@title", kd.title));
            plst.Add(new MySqlParameter("@content", kd.content));
            line = MySQLHelper.ExecuteSql(sql, plst.ToArray());
            return(line);
        }
예제 #3
0
    //knowledge base

    public static void SaveKnowledge(Knowledge knowledge)
    {
        string path = Application.persistentDataPath + "/KnowledgeBase" + knowledge.id.ToString() + ".knowledge";

        BinaryFormatter formatter = new BinaryFormatter();

        FileStream stream = new FileStream(path, FileMode.Create);

        KnowledgeData data = new KnowledgeData(knowledge);

        formatter.Serialize(stream, data);

        stream.Close();
    }
예제 #4
0
        public int update(KnowledgeData kd)
        {
            int line = 0;

            string sql = "update KnowledgeData set content=@content where type=@type and title=@title";

            List <MySqlParameter> plst = new List <MySqlParameter>();

            plst.Add(new MySqlParameter("@type", kd.type));
            plst.Add(new MySqlParameter("@title", kd.title));
            plst.Add(new MySqlParameter("@content", kd.content));
            line = MySQLHelper.ExecuteSql(sql, plst.ToArray());

            return(line);
        }
예제 #5
0
        public List <KnowledgeData> selectALL()
        {
            List <KnowledgeData> kdlst = new List <KnowledgeData>();
            string          sql        = "select knowledgetype ,title,content from KnowledgeData";
            MySqlDataReader reader     = MySQLHelper.ExecuteReader(sql);

            while (reader.Read())
            {
                KnowledgeData kd = new KnowledgeData(reader.GetString("knowledgetype"), reader.GetString("title"), reader.GetString("content"));
                kdlst.Add(kd);
            }
            reader.Close();

            return(kdlst);
        }
예제 #6
0
        public bool update(KnowledgeData kd)
        {
            KnowledgeData existKd = kddao.selectByType_Title(kd.type, kd.title);

            if (existKd == null)
            {
                return(false);
            }
            int line = kddao.update(kd);

            if (line == 1)
            {
                return(true);
            }
            return(false);
        }
예제 #7
0
        public List <KnowledgeData> selectByType(string type)
        {
            List <KnowledgeData> kdlst = new List <KnowledgeData>();
            string          sql        = "select knowledgetype ,title,content from KnowledgeData where knowledgetype=@type";
            MySqlParameter  p1         = new MySqlParameter("@type", type);
            MySqlDataReader reader     = MySQLHelper.ExecuteReader(sql, p1);

            while (reader.Read())
            {
                KnowledgeData kd = new KnowledgeData(reader.GetString("knowledgetype"), reader.GetString("title"), reader.GetString("content"));
                kdlst.Add(kd);
            }
            reader.Close();

            return(kdlst);
        }
예제 #8
0
        public KnowledgeData selectByType_Title(string type, string title)
        {
            KnowledgeData         kd   = null;
            string                sql  = "select knowledgetype ,title,content from KnowledgeData where knowledgetype=@type and title=@title";
            List <MySqlParameter> plst = new List <MySqlParameter>();

            plst.Add(new MySqlParameter("@type", type));
            plst.Add(new MySqlParameter("@title", title));
            MySqlDataReader reader = MySQLHelper.ExecuteReader(sql, plst.ToArray());

            if (reader.Read())
            {
                kd = new KnowledgeData(reader.GetString("knowledgetype"), reader.GetString("title"), reader.GetString("content"));
            }
            reader.Close();

            return(kd);
        }
예제 #9
0
    public static KnowledgeData LoadKnowledge(int id)
    {
        string path = Application.persistentDataPath + "/KnowledgeBase" + id.ToString() + ".knowledge";

        if (File.Exists(path))
        {
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(path, FileMode.Open);

            KnowledgeData data = formatter.Deserialize(stream) as KnowledgeData;

            stream.Close();
            return(data);
        }
        else
        {
            Debug.Log("save file not found in " + path);
            return(null);
        }
    }