亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testcases.cs

?? sqlite 3.3.8 支持加密的版本
?? CS
?? 第 1 頁 / 共 2 頁
字號:
?using System;
using System.Data.Common;
using System.Data;
using System.Data.SQLite;

namespace test
{

  /// <summary>
  /// Scalar user-defined function.  In this example, the same class is declared twice with 
  /// different function names to demonstrate how to use alias names for user-defined functions.
  /// </summary>
  [SQLiteFunction(Name = "Foo", Arguments = 2, FuncType = FunctionType.Scalar)]
  [SQLiteFunction(Name = "TestFunc", Arguments = 2, FuncType = FunctionType.Scalar)]
  class TestFunc : SQLiteFunction
  {
    public override object Invoke(object[] args)
    {
      if (args[0].GetType() != typeof(int)) return args[0];

      int Param1 = Convert.ToInt32(args[0]); // First parameter
      int Param2 = Convert.ToInt32(args[1]); // Second parameter

      return Param1 + Param2;
    }
  }

  /// <summary>
  /// Aggregate user-defined function.  Arguments = -1 means any number of arguments is acceptable
  /// </summary>
  [SQLiteFunction(Name = "MyCount", Arguments = -1, FuncType = FunctionType.Aggregate)]
  class MyCount : SQLiteFunction
  {
    public override void Step(object[] args, int nStep, ref object contextData)
    {
      if (contextData == null)
      {
        contextData = 1;
      }
      else
        contextData = (int)contextData + 1;
    }

    public override object Final(object contextData)
    {
      return contextData;
    }
  }

  /// <summary>
  /// User-defined collating sequence.
  /// </summary>
  [SQLiteFunction(Name = "MYSEQUENCE", FuncType = FunctionType.Collation)]
  class MySequence : SQLiteFunction
  {
    public override int Compare(string param1, string param2)
    {
      // Make sure the string "Field3" is sorted out of order
      if (param1 == "Field3") return 1;
      if (param2 == "Field3") return -1;
      return String.Compare(param1, param2, true);
    }
  }

  internal class TestCases
  {
    internal Form1 frm;

    internal void Run(DbConnection cnn)
    {
      frm = new Form1();

      frm.Show();

      frm.WriteLine("\r\nBeginning Test on " + cnn.GetType().ToString());
      try { CreateTable(cnn); frm.WriteLine("SUCCESS - CreateTable"); }
      catch (Exception) { frm.WriteLine("FAIL - CreateTable"); }

      try { InsertTable(cnn); frm.WriteLine("SUCCESS - InsertTable"); }
      catch (Exception) { frm.WriteLine("FAIL - InsertTable"); }

      try { VerifyInsert(cnn); frm.WriteLine("SUCCESS - VerifyInsert"); }
      catch (Exception) { frm.WriteLine("FAIL - VerifyInsert"); }

      try { CoersionTest(cnn); frm.WriteLine("FAIL - CoersionTest"); }
      catch (Exception) { frm.WriteLine("SUCCESS - CoersionTest"); }

      try { ParameterizedInsert(cnn); frm.WriteLine("SUCCESS - ParameterizedInsert"); }
      catch (Exception) { frm.WriteLine("FAIL - ParameterizedInsert"); }

      try { BinaryInsert(cnn); frm.WriteLine("SUCCESS - BinaryInsert"); }
      catch (Exception) { frm.WriteLine("FAIL - BinaryInsert"); }

      try { VerifyBinaryData(cnn); frm.WriteLine("SUCCESS - VerifyBinaryData"); }
      catch (Exception) { frm.WriteLine("FAIL - VerifyBinaryData"); }

      try { LockTest(cnn); frm.WriteLine("SUCCESS - LockTest"); }
      catch (Exception) { frm.WriteLine("FAIL - LockTest"); }

      try { ParameterizedInsertMissingParams(cnn); frm.WriteLine("FAIL - ParameterizedInsertMissingParams"); }
      catch (Exception) { frm.WriteLine("SUCCESS - ParameterizedInsertMissingParams"); }

      try { InsertMany(cnn, false); frm.WriteLine("SUCCESS - InsertMany"); }
      catch (Exception) { frm.WriteLine("FAIL - InsertMany"); }

      try { InsertMany(cnn, true); frm.WriteLine("SUCCESS - InsertManyWithIdentityFetch"); }
      catch (Exception) { frm.WriteLine("FAIL - InsertManyWithIdentityFetch"); }

      try { FastInsertMany(cnn); frm.WriteLine("SUCCESS - FastInsertMany"); }
      catch (Exception) { frm.WriteLine("FAIL - FastInsertMany"); }

      try { IterationTest(cnn); frm.WriteLine("SUCCESS - Iteration Test"); }
      catch (Exception) { frm.WriteLine("FAIL - Iteration Test"); }

      try { UserFunction(cnn); frm.WriteLine("SUCCESS - UserFunction"); }
      catch (Exception) { frm.WriteLine("FAIL - UserFunction"); }

      try { UserAggregate(cnn); frm.WriteLine("SUCCESS - UserAggregate"); }
      catch (Exception) { frm.WriteLine("FAIL - UserAggregate"); }

      try { UserCollation(cnn); frm.WriteLine("SUCCESS - UserCollation"); }
      catch (Exception) { frm.WriteLine("FAIL - UserCollation"); }

      try { DropTable(cnn); frm.WriteLine("SUCCESS - DropTable"); }
      catch (Exception) { frm.WriteLine("FAIL - DropTable"); }

      frm.WriteLine("\r\nTests Finished.");
    }

    internal void CreateTable(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "CREATE TABLE TestCase (ID integer primary key autoincrement, Field1 Integer, Field2 Float, Field3 VARCHAR(50), Field4 CHAR(10), Field5 DateTime, Field6 Image)";
        //cmd.CommandText = "CREATE TABLE TestCase (ID bigint primary key identity, Field1 Integer, Field2 Float, Field3 VARCHAR(50), Field4 CHAR(10), Field5 DateTime, Field6 Image)";
        cmd.ExecuteNonQuery();
      }
    }

    internal void DropTable(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "DROP TABLE TestCase";
        cmd.ExecuteNonQuery();
      }
    }

    internal void InsertTable(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "INSERT INTO TestCase(Field1, Field2, Field3, Field4, Field5) VALUES(1, 3.14159, 'Field3', 'Field4', '2005-01-01 13:49:00')";
        cmd.ExecuteNonQuery();
      }
    }

    internal void VerifyInsert(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "SELECT Field1, Field2, Field3, Field4, Field5 FROM TestCase";
        cmd.Prepare();
        using (DbDataReader rd = cmd.ExecuteReader())
        {
          if (rd.Read())
          {
            long Field1 = rd.GetInt64(0);
            double Field2 = rd.GetDouble(1);
            string Field3 = rd.GetString(2);
            string Field4 = rd.GetString(3).TrimEnd();
            DateTime Field5 = rd.GetDateTime(4);

            if (Field1 != 1) throw new ArgumentOutOfRangeException("Non-Match on Field1");
            if (Field2 != 3.14159) throw new ArgumentOutOfRangeException("Non-Match on Field2");
            if (Field3 != "Field3") throw new ArgumentOutOfRangeException("Non-Match on Field3");
            if (Field4 != "Field4") throw new ArgumentOutOfRangeException("Non-Match on Field4");
            if (Field5.CompareTo(DateTime.Parse("2005-01-01 13:49:00")) != 0) throw new ArgumentOutOfRangeException("Non-Match on Field5");
          }
          else throw new ArgumentOutOfRangeException("No data in table");
        }
      }
    }

    internal void CoersionTest(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "SELECT Field1, Field2, Field3, Field4, Field5, 'A', 1, 1 + 1, 3.14159 FROM TestCase";
        using (DbDataReader rd = cmd.ExecuteReader())
        {
          if (rd.Read())
          {
            object Field1 = rd.GetInt32(0);
            object Field2 = rd.GetDouble(1);
            object Field3 = rd.GetString(2);
            object Field4 = rd.GetString(3).TrimEnd();
            object Field5 = rd.GetDateTime(4);

            // The next statement should cause an exception
            Field1 = rd.GetString(0);
            Field2 = rd.GetString(1);
            Field3 = rd.GetString(2);
            Field4 = rd.GetString(3);
            Field5 = rd.GetString(4);

            Field1 = rd.GetInt32(0);
            Field2 = rd.GetInt32(1);
            Field3 = rd.GetInt32(2);
            Field4 = rd.GetInt32(3);
            Field5 = rd.GetInt32(4);

            Field1 = rd.GetDecimal(0);
            Field2 = rd.GetDecimal(1);
            Field3 = rd.GetDecimal(2);
            Field4 = rd.GetDecimal(3);
            Field5 = rd.GetDecimal(4);
          }
          else throw new ArgumentOutOfRangeException("No data in table");
        }
      }
    }

    internal void ParameterizedInsert(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "INSERT INTO TestCase(Field1, Field2, Field3, Field4, Field5) VALUES(?,?,?,?,?)";
        DbParameter Field1 = cmd.CreateParameter();
        DbParameter Field2 = cmd.CreateParameter();
        DbParameter Field3 = cmd.CreateParameter();
        DbParameter Field4 = cmd.CreateParameter();
        DbParameter Field5 = cmd.CreateParameter();

        Field1.Value = 2;
        Field2.Value = 3.14159;
        Field3.Value = "Param Field3";
        Field4.Value = "Field4 Par";
        Field5.Value = DateTime.Now;

        cmd.Parameters.Add(Field1);
        cmd.Parameters.Add(Field2);
        cmd.Parameters.Add(Field3);
        cmd.Parameters.Add(Field4);
        cmd.Parameters.Add(Field5);

        cmd.ExecuteNonQuery();
      }
    }

    internal void BinaryInsert(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "INSERT INTO TestCase(Field6) VALUES(?)";
        DbParameter Field6 = cmd.CreateParameter();

        byte[] b = new byte[4000];
        b[0] = 1;
        b[100] = 2;
        b[1000] = 3;
        b[2000] = 4;
        b[3000] = 5;

        Field6.Value = b;

        cmd.Parameters.Add(Field6);

        cmd.ExecuteNonQuery();
      }
    }

    internal void VerifyBinaryData(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "SELECT Field6 FROM TestCase WHERE Field6 IS NOT NULL";
        byte[] b = new byte[4000];

        using (DbDataReader rd = cmd.ExecuteReader())
        {
          if (rd.Read() == false) throw new ArgumentOutOfRangeException();

          rd.GetBytes(0, 0, b, 0, 4000);

          if (b[0] != 1) throw new ArgumentException();
          if (b[100] != 2) throw new ArgumentException();
          if (b[1000] != 3) throw new ArgumentException();
          if (b[2000] != 4) throw new ArgumentException();
          if (b[3000] != 5) throw new ArgumentException();
        }
      }
    }

    internal static void LockTest(DbConnection cnn)
    {
      using (DbCommand cmd = cnn.CreateCommand())
      {
        cmd.CommandText = "SELECT Field6 FROM TestCase WHERE Field6 IS NOT NULL";
        byte[] b = new byte[4000];

        using (DbDataReader rd = cmd.ExecuteReader())
        {
          if (rd.Read() == false) throw new ArgumentOutOfRangeException();

          rd.GetBytes(0, 0, b, 0, 4000);

          if (b[0] != 1) throw new ArgumentException();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产婷婷综合在线精品| 日本成人中文字幕在线视频| 亚洲永久免费视频| 日韩高清国产一区在线| 亚洲欧美激情一区二区| 国产精品18久久久久久vr| 99久久婷婷国产综合精品| 欧美高清一级片在线| 久久精品人人做人人综合| 亚洲精品水蜜桃| 美国三级日本三级久久99| 处破女av一区二区| 91麻豆精品国产91久久久久久| 日韩网站在线看片你懂的| 中文字幕免费观看一区| 日本伊人午夜精品| 97久久超碰国产精品电影| 欧美成人国产一区二区| 亚洲最大成人网4388xx| youjizz国产精品| 精品sm在线观看| ...xxx性欧美| 国产福利精品一区| 日韩欧美一二区| 中文字幕一区二区5566日韩| 国产资源在线一区| 欧美一区二区免费| 一区二区三区四区精品在线视频| 国产一区二区不卡老阿姨| 欧美裸体bbwbbwbbw| 欧美精品一卡二卡| 亚洲福利一区二区| 91麻豆国产福利在线观看| 国产欧美一区二区在线观看| 美女视频黄 久久| 欧美日韩一区二区三区四区| 日韩一区二区三区免费看| 七七婷婷婷婷精品国产| 91精品国产高清一区二区三区蜜臀 | 99综合影院在线| 久久婷婷久久一区二区三区| 久久97超碰国产精品超碰| 51精品秘密在线观看| 亚洲国产综合在线| 91精彩视频在线观看| 国产精品国产a级| 国产激情视频一区二区三区欧美| 7777精品伊人久久久大香线蕉完整版 | 成人精品一区二区三区四区 | 欧美美女黄视频| 五月婷婷久久丁香| 欧美福利视频一区| 久久99国产精品成人| 久久久久9999亚洲精品| 国产.欧美.日韩| 中文字幕亚洲区| 在线观看一区二区视频| 婷婷成人综合网| 精品国产凹凸成av人导航| 国产剧情一区二区三区| 中文字幕一区二区三区不卡在线| 欧美少妇bbb| 蜜臀久久久99精品久久久久久| 久久婷婷国产综合国色天香| av在线不卡电影| 日韩高清一区二区| 欧美国产精品久久| 欧美久久一二区| 国产激情一区二区三区桃花岛亚洲| 国产精品萝li| 3d动漫精品啪啪| 不卡的看片网站| 日韩精品一卡二卡三卡四卡无卡| 久久久久综合网| 在线观看日产精品| 国产精品资源站在线| 亚洲黄色免费电影| 亚洲图片另类小说| 精品久久人人做人人爱| 色综合夜色一区| 国产精品亚洲专一区二区三区 | 99国产精品视频免费观看| 午夜精品爽啪视频| 国产精品欧美一区喷水| 欧美精品自拍偷拍| 色悠悠久久综合| 狠狠色丁香久久婷婷综合丁香| 亚洲精品乱码久久久久久久久| 欧美大胆人体bbbb| 欧美日韩精品一区二区天天拍小说 | 成人一二三区视频| 免费观看一级欧美片| 亚洲欧美综合色| 久久精品欧美一区二区三区不卡| 91.麻豆视频| 色哟哟一区二区在线观看| 国产一区日韩二区欧美三区| 偷拍日韩校园综合在线| 樱桃国产成人精品视频| 国产精品理伦片| 久久先锋影音av鲁色资源| 在线不卡免费av| 欧美日韩午夜影院| 色老综合老女人久久久| 成人午夜av电影| 国产激情视频一区二区在线观看 | 9人人澡人人爽人人精品| 精品一区二区成人精品| 免费成人av资源网| 视频在线观看91| 午夜日韩在线观看| 一区二区三区影院| 综合欧美亚洲日本| 亚洲天堂网中文字| 亚洲品质自拍视频| 国产欧美一区二区三区沐欲 | 日本不卡视频一二三区| 亚洲国产精品一区二区久久恐怖片 | 亚洲同性同志一二三专区| 亚洲欧洲精品一区二区三区| 亚洲欧美在线视频观看| 国产精品天天摸av网| 国产精品福利av| 国产精品免费久久久久| 国产精品久久久99| 亚洲欧美日本韩国| 一区二区三区在线观看动漫 | 亚洲人成电影网站色mp4| ...av二区三区久久精品| 一区二区三区在线观看视频| 香蕉影视欧美成人| 日韩在线卡一卡二| 久久99精品国产麻豆婷婷| 九九精品视频在线看| 国产不卡在线播放| 91蝌蚪porny| 欧美日韩国产区一| 欧美tickling网站挠脚心| 久久影院午夜片一区| 国产精品三级视频| 一区二区三区蜜桃| 免费看黄色91| 成人美女视频在线看| 在线亚洲一区二区| 日韩三级伦理片妻子的秘密按摩| wwwwww.欧美系列| 亚洲伦理在线免费看| 日韩精品电影在线观看| 国产福利一区在线| 在线观看国产91| 日韩亚洲欧美综合| 中文字幕在线免费不卡| 日韩vs国产vs欧美| 高清国产一区二区三区| 欧美性大战久久久久久久| 精品国产三级a在线观看| 日本一区二区三区高清不卡| 亚洲成人精品一区| 国产suv精品一区二区6| 欧美日韩在线免费视频| 欧美韩日一区二区三区| 日韩精品免费专区| av高清不卡在线| 日韩一区二区三区四区五区六区| 国产精品人人做人人爽人人添| 日韩国产成人精品| 99re在线视频这里只有精品| 欧美成人a视频| 一区二区三区毛片| 岛国一区二区三区| 91麻豆精品国产91久久久| 亚洲欧美综合色| 国产精品一区二区三区网站| 欧美精品九九99久久| 中文字幕一区二区三区精华液| 精品在线视频一区| 欧美乱妇一区二区三区不卡视频| 国产精品久久久久影院亚瑟 | 麻豆免费看一区二区三区| 色综合中文字幕国产| 91精品国产91久久久久久一区二区| 亚洲人一二三区| 国产大陆亚洲精品国产| 欧美一区二区精美| 亚洲成人激情av| 在线看日本不卡| 国产精品初高中害羞小美女文| 国产在线不卡一区| 久久综合九色综合欧美就去吻| 亚洲va欧美va人人爽| 在线亚洲人成电影网站色www| 中文字幕视频一区| 成人小视频免费在线观看| 久久久影视传媒| 国产在线一区二区| 欧美成人bangbros| 国产一区二区在线影院| 久久综合九色综合欧美98| 狠狠狠色丁香婷婷综合激情| 日韩一区二区在线观看视频|