コード例 #1
0
        public void EmptyQuery()
        {
            var       db = new Energy.Source.Connection();
            string    error;
            object    result;
            int       number;
            DataTable table;

            Energy.Base.Table fetch;
            result = db.Scalar(null, out error);
            Assert.AreEqual("Empty query", error);
            Assert.IsNull(result);
            result = db.Scalar("", out error);
            Assert.AreEqual("Empty query", error);
            Assert.IsNull(result);
            number = db.Scalar <int>(null, out error);
            Assert.AreEqual("Empty query", error);
            Assert.AreEqual(0, number);
            number = db.Execute(null, out error);
            Assert.AreEqual("Empty query", error);
            Assert.AreEqual(-2, number);
            table = db.Read(null, out error);
            Assert.AreEqual("Empty query", error);
            Assert.IsNull(table);
            fetch = db.Fetch(null, out error);
            Assert.AreEqual("Empty query", error);
            Assert.IsNull(fetch);
            table = db.Load(null, out error);
            Assert.AreEqual("Empty query", error);
            Assert.IsNull(table);
        }
コード例 #2
0
        private static void Test1(string[] args)
        {
            string connectionString = @"Data Source=:memory:;Version=3;New=True;";

            db            = new Energy.Source.Connection <System.Data.SQLite.SQLiteConnection>(connectionString);
            db.Persistent = true; // needed for :memory: !!!
            Console.WriteLine(db.Scalar("select current_timestamp;"));
            Console.WriteLine(db.Scalar("select time(time(), 'localtime');"));
            Console.WriteLine(db.Scalar("SELECT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))"));
            Energy.Interface.IDialect dialect = new Energy.Query.Dialect.SQLITE();
            Energy.Interface.IDialect script  = new Energy.Query.Dialect.SQLITE();
            string query;

            query = "select " + dialect.Format.CurrentStamp;
            Console.WriteLine(query);
            Console.WriteLine(db.Scalar(query));

            Energy.Source.Structure.Table table;
            table = Energy.Source.Structure.Table.Create(typeof(UserTableRecord));
            query = dialect.CreateTable(table);

            Console.WriteLine(query);
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }

            query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name , Phone ) VALUES ( 'List' , 1234 )";

            Console.WriteLine(query);
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }

            query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name , Phone ) VALUES ( 'Element numer 1' , 4143141414 )";

            Console.WriteLine(query);
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }

            query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name ) VALUES ( 'Po prostu element' )";

            Console.WriteLine(query);
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }

            query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name , Description ) VALUES ( '===' , 'ĄćęłńóśćżŹ' )";

            Console.WriteLine(query);
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }

            query = "SELECT * FROM " + script.Format.Object("UserTable");

            Console.WriteLine(query);
            DataTable dx1  = db.Load(query);
            string    text = Energy.Base.Plain.DataTableToPlainText(dx1, new Energy.Base.Plain.TableFormat.FullFrame()
            {
                Tilde = true
            });

            Energy.Core.Tilde.WriteLine(text);
            if (db.Execute(query) < 0)
            {
                Console.WriteLine(db.ErrorMessage);
            }

            var tbl = db.Fetch(query);

            foreach (var rec in tbl)
            {
                Console.WriteLine(rec.ToString(": "));
            }

            Console.WriteLine(query);
        }