コード例 #1
0
        public void TestSelectBinaryDataFromCellAsImage()
        {
            const string sqlCreateTable = "create table test (bin blob);";
            const string sqlInsertImage = "insert into test (bin) values (@bin);";
            const string sqlSelectImage = "select * from test;";
            const int    imageDimension = 100;
            var          image          = new Bitmap(imageDimension, imageDimension);

            byte[] binary;

            using (var g = Graphics.FromImage(image))
            {
                g.Clear(Color.Gold);
            }

            using (var memory = new MemoryStream())
            {
                image.Save(memory, ImageFormat.Png);
                binary = memory.ToArray();
            }

            var xQuery = new XQuerySqlite(SetUp.SqliteConnectionString);

            xQuery.BeginTransaction();
            xQuery.Create(sqlCreateTable);
            xQuery.InsertBinaryIntoCell(binary, sqlInsertImage, "@bin");
            var retrivedImage = xQuery.SelectBinaryAsImage(sqlSelectImage);

            Assert.AreEqual(100, retrivedImage.Size.Width);
        }