private void button1_Click(object sender, EventArgs e)
{
DataTable DataTab = new DataTable();
DaSql = new SqlDataAdapter("SELECT * FROM Student where Gender = '" + textBox1.Text + "' ", conSql);
DaSql.Fill(DataTab);
DataGridQueryResult.DataSource = DataTab;
}
答案 0 :(得分:0)
在你的代码运行之前,不要过多关注SQL INJECTION。让它工作,然后保护它。尝试将变量设置为
var sqlText = "SELECT * FROM Student where Gender = '" + textBox1.Text + "' ";
然后在调试器中点击它以检查完整的查询语句。确保你没有任何sillies像一个额外的空间。
修复SQL INJECTION漏洞答案 1 :(得分:0)
Query没有错误似乎与DataGrid绑定问题。 我的情况是一样的,我使用SQL,DataTable,DataGrid。 你会试试吗?
DataTable DataTab = new DataTable("Student");
DaSql = new SqlDataAdapter("SELECT * FROM Student where Gender = '" + textBox1.Text + "' ", conSql);
DaSql.Fill(DataTab);
DataGridQueryResult.ItemsSource = DataTab.DefaultView;
需要在Window Designer中检查DataGrid设置是否正确,包括AutoGeneratingColumns = True。 我总是使用ItemsSource,效果很好。