0

私はテーブルをフィルタリングするためにこれを持っています。

using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString))
            {
                myDatabaseConnection.Open();
                using (SqlCommand mySqlCommand = new SqlCommand("Select * from Employee WHERE EmpID >= @from  AND EmpID <= @to", myDatabaseConnection))
                {
                    mySqlCommand.CommandType = CommandType.Text;
                    mySqlCommand.Parameters.AddWithValue("@from", textBox1.Text);
                    mySqlCommand.Parameters.AddWithValue("@to", textBox2.Text);
                    {
                        ds = new DataSet();
                        adapter = new SqlDataAdapter(mySqlCommand);
                        adapter.Fill(ds, "Employee");
                    }
                }
            }

たとえば4001、textBox1 と4017texBox2 があります。40014002、の結果が得られます4003。. .4017

問題は、たとえば、textBox1 の I4001と textBox2 の none で、結果が得られません。4001テーブルの最後の値までの結果を得るにはどうすればよいですか? textBox1 が空で textBox24017

4

2 に答える 2

0

最も簡単な方法は、@from と @to の値を空のテキスト ボックスの最小値と最大値にデフォルト設定することです。

例えば。EmpId が整数の場合

int minId = 0;
int maxId = 99999;

if (!string.IsNullOrEmpty(textBox1.text))
minId = int.Parse(textBox1.text);

if (!string.IsNullOrEmpty(textBox2.text))
maxId = int.Parse(textBox2.text);

mySqlCommand.Parameters.AddWithValue("@from", minId);
mySqlCommand.Parameters.AddWithValue("@to", maxId);

そうすることで、常に比較対象の値が得られます。

于 2013-08-11T14:16:05.453 に答える