【发布时间】:2021-02-23 03:23:51
【问题描述】:
不确定我上面的问题是否写得正确,如果没有,我深表歉意。
我有一个学生数据库,这些学生在不同的班级项目、作业等方面有不同的成绩。我的职责是当我从我的组合框中选择一个项目时,它应该填充所选范围内的学生。例如,组合框上的文本如下:
- 从0到10
- 从 11 点到 20 点
- 从 21 到 30
- 从 31 到 40
如果我选择From 11 to 20,我应该得到从11 to 20 获得成绩的学生。
现在,这是一个学校作业,所以我必须使用这些课本;我无法将它们更改为 0、10、20 等。
我在 Access 上连接到我的数据库。我有另一个更简单的组合框,意思是组合框项目显示为:作业 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
谢谢!
【问题讨论】:
-
第二个应该可以工作,但是您在最后一个中再次为 sqlfilter 放置了相同的文本。您有多种获取数据的选项。但要做到这一点,我们需要更多细节。你能用更多细节更新你的问题吗?诸如这些变量值包含的内容、您在数据库中拥有它以及您希望如何在 UI 中显示等详细信息会有所帮助。
-
如何在数据库中存储范围值?
-
@JackLe - 提供数据库。我所要做的就是连接到它,创建一个带有组合框和数据网格视图的 UI 软件,我将在其中填充信息。此数据网格视图具有列:
Date, Student, Homework, Grades,与 Access 数据库中的列相同。 -
@AdrianAcostaPR 你不明白我的问题。如果 [range] 列是整数,可以使用
BETWEEN value1 AND value2 -
@AdrianAcostaPR 你可以像我上面提到的那样做,或者将你的查询更改为
[range] >= value1 and value2 <=[range]。您可以轻松地从所选文本中提取数字(例如从 31 到 40),有多种不同的方法。
标签: c# database ms-access combobox