本文整理汇总了C#中SqlWriter.WriteValue方法的典型用法代码示例。如果您正苦于以下问题:C# SqlWriter.WriteValue方法的具体用法?C# SqlWriter.WriteValue怎么用?C# SqlWriter.WriteValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SqlWriter
的用法示例。
在下文中一共展示了SqlWriter.WriteValue方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteLimit
/// <summary>
/// Writes the specified result set limitation for the current SQL dialect.
/// Writes the <c>LIMIT <paramref name="offset"/>, <paramref name="count"/></c> clause
/// to the output <paramref name="writer"/>.
/// syntax.
/// </summary>
/// <param name="writer">
/// The <see cref="SqlWriter"/> to write to.
/// </param>
/// <param name="offset">
/// The row offset at which to start.
/// </param>
/// <param name="count">
/// The number of rows to fetch.
/// </param>
public override void WriteLimit(SqlWriter writer, int? offset, int? count)
{
writer.WriteKeyword(MySqlKeywords.Limit);
if (offset != null)
{
writer.WriteValue(offset.GetValueOrDefault());
writer.WriteRaw(",");
}
writer.WriteValue(count.GetValueOrDefault(int.MaxValue));
}
示例2: WriteUnion_WhenSelectWithJoin_WritesUnionStatement
public void WriteUnion_WhenSelectWithJoin_WritesUnionStatement()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("u", "Id", null);
writer.WriteColumn("u", "Name", null);
writer.WriteColumn("p", "Age", null);
writer.WriteStartFrom();
writer.WriteTable("Users", "u");
writer.WriteStartJoin(SqlJoinType.Inner);
writer.WriteTable("Profiles", "p");
writer.WriteStartOn();
writer.WriteColumn("u", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("p", "UserId", null);
//writer.WriteStartWhere();
//writer.WriteColumn("u", "Age", null);
//writer.WriteOperator(SqlBinaryOperator.LessThanOrEqual);
//writer.WriteValue(18);
writer.WriteEndSelect();
Assert.AreEqual(SqlWriterState.EndSelect, writer.WriteState);
writer.WriteUnion();
Assert.AreEqual(SqlWriterState.Union, writer.WriteState);
writer.WriteStartSelect();
writer.WriteColumn("u", "Id", null);
writer.WriteColumn("u", "Name", null);
writer.WriteColumn("p", "Age", null);
writer.WriteStartFrom();
writer.WriteTable("Users", "u");
writer.WriteStartJoin(SqlJoinType.Inner);
writer.WriteTable("Profiles", "p");
writer.WriteStartOn();
writer.WriteColumn("u", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("p", "UserId", null);
writer.WriteStartWhere();
writer.WriteColumn("p", "Age", null);
writer.WriteOperator(SqlBinaryOperator.GreaterThanOrEqual);
writer.WriteValue(30);
writer.WriteEndSelect();
}
Assert.AreEqual("SELECT [u].[Id], [u].[Name], [p].[Age] FROM [Users] [u] INNER JOIN [Profiles] [p] ON ([u].[Id] = [p].[UserId]) UNION SELECT [u].[Id], [u].[Name], [p].[Age] FROM [Users] [u] INNER JOIN [Profiles] [p] ON ([u].[Id] = [p].[UserId]) WHERE ([p].[Age] >= 30)", builder.ToString());
}
示例3: WriteStartSet_WhenUpdateStatement_WritesParametersAndValues
public void WriteStartSet_WhenUpdateStatement_WritesParametersAndValues()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartUpdate();
writer.WriteTable("Users");
writer.WriteStartSet();
writer.WriteColumn("Id");
writer.WriteValue(15);
writer.WriteColumn("UserName");
writer.WriteParameter("UserName");
writer.WriteColumn("Email");
writer.WriteParameter("Email");
Assert.AreEqual(SqlWriterState.Set, writer.WriteState);
}
Assert.AreEqual("UPDATE [Users] SET [Id] = 15, [UserName] = @UserName, [Email] = @Email", builder.ToString());
}
示例4: WriteStartFrom_WhenSelectStatement_WritesWhere
public void WriteStartFrom_WhenSelectStatement_WritesWhere()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteStartWhere();
Assert.AreEqual(SqlWriterState.StartWhere, writer.WriteState);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteParameter("Id");
writer.WriteOperator(SqlBinaryOperator.Or);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.LessThan);
writer.WriteValue(100);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users] WHERE ([Id] = @Id) OR ([Id] < 100)", builder.ToString());
}
示例5: WriteStartOn_WritesOnClause
public void WriteStartOn_WritesOnClause()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteStartJoin();
writer.WriteTable("Profiles");
writer.WriteStartOn();
writer.WriteColumn("Users", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("Profiles", "UserId", null);
writer.WriteOperator(SqlBinaryOperator.And);
writer.WriteColumn("Users", "Name", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteParameter("Name");
writer.WriteStartWhere();
Assert.AreEqual(SqlWriterState.StartWhere, writer.WriteState);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteParameter("Id");
writer.WriteOperator(SqlBinaryOperator.Or);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.LessThan);
writer.WriteValue(100);
writer.WriteStartOrderBy();
writer.WriteColumn("Id");
writer.WriteSortOrder(SqlSortOrder.Ascending);
writer.WriteColumn("Name");
writer.WriteSortOrder(SqlSortOrder.Descending);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users] JOIN [Profiles] ON ([Users].[Id] = [Profiles].[UserId]) AND ([Users].[Name] = @Name) WHERE ([Id] = @Id) OR ([Id] < 100) ORDER BY [Id] ASC, [Name] DESC", builder.ToString());
}
示例6: WriteLimit
/// <summary>
/// Writes the specified result set limitation for the current SQL dialect. The default
/// implementation uses the <c>OFFSET <paramref name="offset"/> ROWS FETCH FIRST <paramref name="count"/> ROWS ONLY</c>
/// syntax.
/// </summary>
/// <param name="writer">
/// The <see cref="SqlWriter"/> to write to.
/// </param>
/// <param name="offset">
/// The row offset at which to start.
/// </param>
/// <param name="count">
/// The number of rows to fetch.
/// </param>
public virtual void WriteLimit(SqlWriter writer, int? offset, int? count)
{
if (offset != null)
{
writer.WriteKeyword(SqlKeywords.Offset);
writer.WriteValue(offset.Value);
writer.WriteKeyword(SqlKeywords.Rows);
}
if (count != null)
{
writer.WriteKeyword(SqlKeywords.Fetch);
writer.WriteKeyword(SqlKeywords.First);
writer.WriteValue(count.Value);
writer.WriteKeyword(SqlKeywords.Rows);
writer.WriteKeyword(SqlKeywords.Only);
}
}
示例7: WriteValue_WhenInsertStatement_WritesValues
public void WriteValue_WhenInsertStatement_WritesValues()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartInsert();
writer.WriteStartInto();
writer.WriteTable("Users");
writer.WriteColumn("Id");
writer.WriteColumn("UserName");
writer.WriteColumn("Email");
writer.WriteStartValues();
Assert.AreEqual(SqlWriterState.StartValues, writer.WriteState);
writer.WriteValue(15);
writer.WriteValue("My user name.");
writer.WriteValue("[email protected]");
writer.WriteEndValues();
Assert.AreEqual(SqlWriterState.EndValues, writer.WriteState);
}
Assert.AreEqual("INSERT INTO [Users] ([Id], [UserName], [Email]) VALUES (15, 'My user name.', '[email protected]')", builder.ToString());
}