在C#中为两个参数使用字符串格式

时间:2017-02-08 01:46:25

标签: c# datagridview

我在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;

2 个答案:

答案 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);
   }
}