我是sql的新手。没有获取查询结果。运行良好,没有错误

时间:2016-05-03 15:47:32

标签: c# mysql sql sql-server

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;
}

2 个答案:

答案 0 :(得分:0)

在你的代码运行之前,不要过多关注SQL INJECTION。让它工作,然后保护它。尝试将变量设置为

var sqlText = "SELECT * FROM Student where Gender = '" + textBox1.Text + "' ";

然后在调试器中点击它以检查完整的查询语句。确保你没有任何sillies像一个额外的空间。

See a full example of filling a data table here

使用parameters

修复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,效果很好。