我在C#中为两个参数使用字符串格式时遇到问题。在这里,我想显示大于和低于我输入值的数据。对于未包含在该标准中的数据,我想在另一个DataGridView中显示。有人可以帮帮我吗?这是我的代码:
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
OleDbConnection kon = new OleDbConnection(koneksinectar);
DataTable dt = new DataTable();
OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [Sheet1$]", kon);
DataSet coba = new DataSet();
adapter.Fill(coba);
var table = coba.Tables[0];
var view = new DataView(table);
var view2 = new DataView(table);
if (textBox1.Text != "")
{
sb.Append(string.Format("[Saldo] > '{0}'", textBox1.Text));
}
if (textBox2.Text != "")
{
if (sb.Length > 0)
{
sb.Append(" AND ");
}
sb.Append(string.Format("[Saldo] < '{0}'", textBox2.Text));
}
sb2.Append(string.Format(//here I want to do the formula textBox1.Text < [Saldo] > textBox2.Text)); //What code I must write ?
view.RowFilter = sb.ToString();
view2.RowFilter = sb2.ToString();
ViewNectarGV.DataSource = view;
NectarUnscheduleGV.DataSource = view2;
答案 0 :(得分:2)
如果您使用的是C#6,则只需执行
即可$"'{textBox1.Text}' < [Saldo] AND [Saldo] > '{textBox2.Text}'";
否则你可以做到
string.Format("'{0}' < [Saldo] AND [Saldo] > '{1}'",textBox1.Text, textBox2.Text);
答案 1 :(得分:0)
我不确定我理解你的要求,但我认为这就是你想要的。 假设文本框应该是int,并且您试图找到它们是否大于或小于。
int num1;
int num2;
if (textBox1.Text != "" && textBox2.Text != "") {
num1 = int.Parse(textBox1.Text);
num2 = int.Parse(textBox2.Text);
string str;
if(num1 > num2) {
str = string.Format("{0} > {1}", num1, num2);
} else if(num1 < num2) {
str = string.Format("{0} < {1}", num1, num2);
} else {
str = string.Format("{0} = {1}", num1, num2);
}
}