本文整理匯總了C#中Tailspin.SimpleSqlRepository.SqlStatement.BuildCommand方法的典型用法代碼示例。如果您正苦於以下問題:C# SqlStatement.BuildCommand方法的具體用法?C# SqlStatement.BuildCommand怎麽用?C# SqlStatement.BuildCommand使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Tailspin.SimpleSqlRepository.SqlStatement
的用法示例。
在下文中一共展示了SqlStatement.BuildCommand方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: GetAddressCommand
DbCommand GetAddressCommand(Address address)
{
var sql = new SqlStatement(connectionStringName);
var settings = new Dictionary<string, object>()
{
{AddressesTable.Columns.UserName, address.UserName},
{AddressesTable.Columns.FirstName, address.FirstName},
{AddressesTable.Columns.LastName, address.LastName},
{AddressesTable.Columns.Email, address.Email},
{AddressesTable.Columns.Street1, address.Street1},
{AddressesTable.Columns.Street2, address.Street2 != null ? address.Street2 : ""},
{AddressesTable.Columns.City, address.City},
{AddressesTable.Columns.StateOrProvince, address.StateOrProvince},
{AddressesTable.Columns.Zip, address.Zip},
{AddressesTable.Columns.Country, address.Country},
{AddressesTable.Columns.IsDefault, address.IsDefault}
};
if (SqlHelper.RecordExists(connectionStringName,AddressesTable.TABLE_NAME, new Dictionary<string, object>()
{
{AddressesTable.Columns.UserName,address.UserName},
{AddressesTable.Columns.Street1,address.Street1},
{AddressesTable.Columns.City,address.City},
{AddressesTable.Columns.StateOrProvince,address.StateOrProvince},
}))
{
//update
sql = AddressesTable.Update(settings)
.Where(AddressesTable.Columns.UserName, address.UserName)
.And(AddressesTable.Columns.Street1, address.Street1)
.And(AddressesTable.Columns.City, address.City)
.And(AddressesTable.Columns.StateOrProvince, address.StateOrProvince);
} else {
//insert
sql = AddressesTable.Insert(settings);
}
var cmd = sql.BuildCommand();
//add the params
return cmd;
}
示例2: RecordExists
public static bool RecordExists( string connStringName,string tableName, Dictionary<string, object> values)
{
var sb = new StringBuilder();
SqlStatement sql = new SqlStatement(connStringName);
sql.Add("SELECT " + values.First().Key);
sql.Add(" FROM " + tableName);
object result = null;
int indexer = 1;
foreach (string s in values.Keys) {
if (indexer == 1) {
sql.Where(s, values[s]);
} else {
sql.And(s, values[s]);
}
indexer++;
}
using (var cmd = sql.BuildCommand()) {
result = cmd.ExecuteScalar();
}
return result != null;
}
示例3: GetOrder
public Order GetOrder(Guid orderID)
{
SimpleProductRepository productRepository = new SimpleProductRepository();
SimpleCustomerRepository customerRepository = new SimpleCustomerRepository();
Order result = null;
var batch = new BatchSql();
batch.Append(OrdersTable.Select().Where("OrderID", orderID));
//items
//products for the items
var sql = new SqlStatement(connectionStringName);
sql.Add("SELECT ");
sql.Add(ProductsTable.COLUMN_LIST);
sql.Add(OrderItemsTable.COLUMN_LIST);
sql.Add("FROM Products INNER JOIN OrderItems ON Products.SKU = OrderItems.SKU");
sql.Add("WHERE SKU IN (SELECT SKU FROM OrderItems WHERE [email protected])");
//transactions
batch.Append(TransactionsTable.Select().Where("orderid", orderID));
int shippingAddressID = 0;
int billingAddressID = 0;
int shippingMethodID=0;
//pull it
var cmd = sql.BuildCommand();
using (var rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) {
if (rdr.Read()) {
result = new Order(OrdersTable.ReadOrderStatusID(rdr))
{
DateCreated =OrdersTable.ReadCreatedOn(rdr),
DateShipped = OrdersTable.ReadDateShipped(rdr),
UserName = OrdersTable.ReadUserName(rdr),
DiscountAmount = OrdersTable.ReadDiscountAmount(rdr),
DiscountReason =OrdersTable.ReadDiscountReason(rdr),
EstimatedDelivery = OrdersTable.ReadEstimatedDelivery(rdr),
ID = orderID,
OrderNumber = OrdersTable.ReadOrderNumber(rdr),
ShippingAmount = OrdersTable.ReadShippingAmount(rdr),
ShippingService=OrdersTable.ReadShippingService(rdr),
TaxAmount = OrdersTable.ReadTaxAmount(rdr),
};
billingAddressID = OrdersTable.ReadBillingAddressID(rdr);
shippingAddressID = OrdersTable.ReadShippingAddressID(rdr);
}
//load the items
result.Items = new List<OrderLine>();
if (rdr.NextResult()) {
while (rdr.Read()) {
var product = productRepository.LoadProduct(rdr);
var item = new OrderLine(OrderItemsTable.ReadDateAdded(rdr),OrderItemsTable.ReadQuantity(rdr),product);
result.Items.Add(item);
}
}
//transactions
result.Transactions = new List<Transaction>();
if (rdr.NextResult()) {
while (rdr.Read()) {
Transaction t = new Transaction(
TransactionsTable.ReadTransactionID(rdr),
orderID,
TransactionsTable.ReadAmount(rdr),
TransactionsTable.ReadTransactionDate(rdr),
TransactionsTable.ReadAuthorizationCode(rdr),
TransactionsTable.ReadNotes(rdr),
TransactionsTable.ReadProcessor(rdr));
result.Transactions.Add(t);
}
}
}
sql = new SqlStatement(connectionStringName);
//addresses
batch.Append(AddressesTable.Select().Where("addressid", shippingAddressID));
batch.Append(AddressesTable.Select().Where("addressid", billingAddressID));
//shipping method
batch.Append(ShippingMethodsTable.Select().Where("shippingmethodid", shippingMethodID));
cmd = batch.BuildCommand(connectionStringName);
using (var rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) {
//shipping address
if (rdr.Read()) {
//shipping
result.ShippingAddress = customerRepository.LoadAddress(rdr);
//.........這裏部分代碼省略.........