DataTable DefaultView Filter String with "Convert()&quo
本文关键字:Convert quo quot Filter String with DataTable DefaultView | 更新日期: 2023-09-27 18:15:51
您好,我正在使用DataTable
和DevaultView.RowFilter
来显示DataGridView
。
我有一个列与日期(dd/mm/yyyy
)。
String filter = String.Format(@"account_name LIKE '{0}*' AND type_name='{2}' AND Convert( transaction_date, System.DateTime ) < '{1}' OR is_edited ='true' ", this.accountName, this.dateTimePickerTransactionFrom.Value.ToString(), this.radioButtonDebit.Checked ? "Debit" : "Credit");
transactionsAll.DefaultView.RowFilter = filter;
DefaultView_ListChanged();
以错误结束:
字符串未被识别为有效的日期时间。
谢谢大家,
我解决了这个问题。
我从
SELECT transactions.transaction_id, transactions.transaction_amound, CONVERT(char(10), transactions.transaction_date, 103) AS transaction_date,
transaction_type.type_name, transaction_type.description, accounts.account_name, accounts.user_id
FROM transactions INNER JOIN
transaction_type ON transactions.type_id = transaction_type.type_id INNER JOIN
accounts ON transactions.account_id = accounts.account_id
WHERE (accounts.user_id = @UserId)
SELECT transactions.transaction_id, transactions.transaction_amound, transactions.transaction_date, transaction_type.type_name,
transaction_type.description, accounts.account_name, accounts.user_id
FROM transactions INNER JOIN
transaction_type ON transactions.type_id = transaction_type.type_id INNER JOIN
accounts ON transactions.account_id = accounts.account_id
WHERE (accounts.user_id = @UserId)
和
private void ConstraintChanged()
{
String filter = String.Format(@"account_name LIKE '{0}*' AND type_name='{2}' " +
@"AND Convert( transaction_date, System.DateTime ) > '{1}' OR is_edited ='true' ",
this.accountName,
this.dateTimePickerTransactionFrom.Value,
this.radioButtonDebit.Checked ? "Debit" : "Credit");
transactionsAll.DefaultView.RowFilter = filter;
DefaultView_ListChanged();
}