簡體   English   中英

如何使用 C# 上的數據庫數據獲取 comboBox 上的范圍值

[英]How to Get Range Values on a comboBox with a Database Data on C#

不知道我上面的問題是否寫對了,如果沒有,我很抱歉。

我有一個學生數據庫,這些學生在不同的 class 項目、作業等上有不同的成績。我的職責是,當我 select 時,我的 comboBox 中的一個項目應填充所選范圍內的學生。 例如,comboBox 上的文字如下:

  • 從 0 到 10
  • 從 11 到 20
  • 從 21 到 30
  • 從 31 到 40

如果我 select From 11 to 20 ,我應該得到從 11 到11 to 20的學生。 現在,這是一個學校作業,所以我必須使用這些課本; 我無法將它們更改為 0、10、20 等。

我在 Access 上連接到我的數據庫。 我還有另一個 comboBox 更簡單,這意味着 comboBox 項目讀取:作業 1、作業 2 等,並且該連接有效。 我的問題是試圖告訴 C# 我選擇的內容已翻譯為文本內的范圍。 這是我的那個按鈕的代碼:

private void btnLoad_Click(object sender, EventArgs e)
{
   String homeWork = cboHomeWork.Text; //This works fine and it filters correctly
   String range = cboRangeGrades.Text; //This will return an error because the text is complexed

}

     String sqlFilter = String.Format("Select * from activities where HomeWork = '{0}' and range = '{1}' ", homeWork, range);

getStudents(sqlFilter); //Calling the SQL instructions from above

關於使用這些范圍從數據庫中獲取范圍數據的正確方法有什么建議嗎?

我也嘗試使用if語句:

private void btnLoad_Click(object sender, EventArgs e)
{
    String homeWork = cboHomeWork.Text; //This works fine and it filters correctly
    String range = cboRangeGrades.Text; //This will return an error because the text is complexed

    if (cboRangeGrades.Text == "From 0 to 10")
    {
      //But this will return an error saying that the criteria is not correct. 
      range = String sqlFilter = String.Format("Select * from activities where range = 10");
      //To my understanding, that Query is not written correctly even though on Access it works.
    }

}
    
   String sqlFilter = String.Format("Select * from activities where HomeWork = '{0}' and range = '{1}' ", homeWork, range);
    
   getStudents(sqlFilter); //Calling the SQL instructions from above

謝謝!

您可以使用Replace()

string homeWork = "Assignment 1";
string range = "From 11 To 20";
string criteria = range.Replace("From", "between").Replace("To", "and");
String sqlFilter = String.Format("select * from activities where HomeWork = '{0}' and grade {1}", homeWork, criteria);

Console.WriteLine(sqlFilter);
// select * from activities where HomeWork = 'Assignment 1' and Grade between 11 and 20

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM