本文整理汇总了C#中Mono.Data.Sqlite.Orm.Tests.OrmTestSession.ExecuteScalar方法的典型用法代码示例。如果您正苦于以下问题:C# OrmTestSession.ExecuteScalar方法的具体用法?C# OrmTestSession.ExecuteScalar怎么用?C# OrmTestSession.ExecuteScalar使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Data.Sqlite.Orm.Tests.OrmTestSession
的用法示例。
在下文中一共展示了OrmTestSession.ExecuteScalar方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EnsureSimpleTableExistsUsingQuery
public void EnsureSimpleTableExistsUsingQuery()
{
using (var db = new OrmTestSession())
{
db.CreateTable<SimpleTable>();
Assert.AreEqual(0, db.ExecuteScalar<int>("SELECT COUNT(*) FROM [SimpleTable];"));
}
}
示例2: MultiplePkOperations
public void MultiplePkOperations()
{
var db = new OrmTestSession();
db.CreateTable<TestObj>();
// insert
const int n = 10 , m= 5;
var objs = new TestObj[n * m];
for (int j = 0; j != n; ++j)
{
for (int i = 0; i != m; ++i)
{
objs[j * m + i] = new TestObj {Id = j, SubId = i, Text = "I am (" + j + "," + i + ")"};
}
}
int numIn = db.InsertAll(objs);
Assert.AreEqual(numIn, n * m, "Num inserted must = num objects");
var obj = db.Get<TestObj>(5, 3);
Assert.AreEqual(5, obj.Id);
Assert.AreEqual(3, obj.SubId);
Assert.AreEqual("I am (5,3)", obj.Text);
try
{
db.Insert(obj);
}
catch (SqliteException ex)
{
Assert.AreEqual(SQLiteErrorCode.Constraint, ex.ErrorCode);
}
// update
obj.Text = "I've been changed";
db.Update(obj);
db.Update<TestObj>("Text", "I've been changed also", 8, 2);
obj = db.Get<TestObj>(5, 3);
Assert.AreEqual("I've been changed", obj.Text);
obj = db.Get<TestObj>(8, 2);
Assert.AreEqual("I've been changed also", obj.Text);
db.UpdateAll<TestObj>("Text", "All changed");
IEnumerable<TestObj> q1 = from o in db.Table<TestObj>() select o;
foreach (TestObj o in q1)
Assert.AreEqual("All changed", o.Text);
TestObj[] q2 = (from o in db.Table<TestObj>() where o.SubId == 3 select o).ToArray();
Assert.AreEqual(10, q2.Length);
for (int i = 0; i != 10; ++i)
{
Assert.AreEqual(i, q2[i].Id);
}
object numCount = db.Table<TestObj>().Count();
Assert.AreEqual(numCount, objs.Length, "Num counted must = num objects");
// delete
obj = db.Get<TestObj>(8, 2);
db.Delete(obj);
try
{
var item = db.Get<TestObj>(8, 2);
Assert.Fail();
}
catch (InvalidOperationException)
{
}
catch (Exception ex)
{
Assert.Fail(ex.Message);
}
db.Execute("delete from TestObj where SubId=2");
numCount = db.ExecuteScalar<int>("select count(*) from TestObj");
Assert.AreEqual(numCount, objs.Length - 10);
foreach (TestObj o in (from o in db.Table<TestObj>() select o))
Assert.AreNotEqual(2, o.SubId);
}
示例3: CountWithFlag
public int CountWithFlag(OrmTestSession db, bool flag)
{
return db.ExecuteScalar<int>("SELECT COUNT(*) FROM VO Where Flag = ?", flag);
}
示例4: StringQueryOnQueryableTable
public void StringQueryOnQueryableTable()
{
using (var db = new OrmTestSession())
{
db.CreateTable<QueryableTable>();
db.Insert(new QueryableTable { Name = "sqlite" });
db.Insert(new QueryableTable { Name = "sqlevy" });
db.Insert(new QueryableTable { Name = "cars" });
db.Insert(new QueryableTable { Name = "we know sqlite is cool" });
db.Insert(new QueryableTable { Name = "we think sqlites" });
var count = db.ExecuteScalar<int>(
"SELECT COUNT(*) FROM [QueryableTable] WHERE [Name] MATCH ?",
"sqlite");
Assert.AreEqual(3, count);
}
}