2017-02-08 6 views
0

C#の2つのパラメータに文字列フォーマットを使用する際に問題があります。ここでは、私が入力した値より大きくて低いデータを表示したいと思います。その基準に含まれていないデータについては、別のDataGridViewで表示したいと思います。誰でも私を助けることができますか?ここに私のコード:C#の2つのパラメータの文字列フォーマットの使用

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

あなたは単に

$"'{textBox1.Text}' < [Saldo] AND [Saldo] > '{textBox2.Text}'"; 

を行うことができますC#6を使用している場合はそうでなければ、

string.Format("'{0}' < [Saldo] AND [Saldo] > '{1}'",textBox1.Text, textBox2.Text); 
+0

あなたのコードを試してみましたが、System.BooleanとSystem.Stringで '>'操作を実行できませんというエラーが表示されます。 –

+0

これでうまくいくはずです。あなたのクエリが最初より少ないものを実行する前に、これはboolを出力します。あなたはブールと2番目の値よりも大きいをしています。 – Drawaes

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); 
    } 
} 
関連する問題