我试图根据从组合框中选择的值,从sql Server 2008中创建的不同表中加载数据。我编写了相同的查询,该查询在SQL Server 2008中完美运行,但没有在datagridview中加载任何数据,但显示了数据库中所需数据字段的标题。
我完全被感动了。没有错误。应用程序完全正常。甚至查询本身也可以在查询生成器中执行。
因此,我要求大家使我摆脱这个问题。在此先感谢您的帮助。
这是代码:
public partial class ViewTimeTable : Form
{
SqlCommand cm = new SqlCommand();
DataAccess da = new DataAccess();
int d_id, y_id;
public ViewTimeTable()
{
InitializeComponent();
}
private void btnLoad_Click(object sender, EventArgs e)
{
try
{
d_id = Convert.ToInt32(cmbDepartment.SelectedValue);
y_id = Convert.ToInt32(cmbDepartment.SelectedValue);
SqlDataAdapter dap=null;
string query = "SELECT TimeTable.Day,TimeTable.FromTime,TimeTable.ToTime,
Teachers.TName,Subject.SubName FROM (TimeTable INNER JOIN Teachers ON
TimeTable.T_id = Teachers.T_id INNER JOIN Subject ON TimeTable.Sub_id =
Subject.Sub_id) Where TimeTable.D_id=" + d_id + " AND TimeTable.Y_id=" +
y_id + "";
cm.CommandText = query;
da.Action(cm);
dap=da.GetDataAdapter(cm);
DataTable table = new DataTable();
dap.Fill(table);
dataGridView1.DataSource = table;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
在阅读代码时,我看到:
d_id = Convert.ToInt32(cmbDepartment.SelectedValue);
y_id = Convert.ToInt32(cmbDepartment.SelectedValue);
我的眼睛,这些设置d_id
和y_id
相同的值。我怀疑您希望它们设置为不同的值。
您的查询无法正常工作的原因是没有行满足条件。如果在变量替换后打印出查询,则问题将很明显。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句