SQLHelper sqhlpr = new SQLHelper();
sqhlpr.SqlText = "Select StudentName from tblStudentInfo where class=" + NurseryButton.Text;
DataTable dt = sqhlpr.getDataTable(false);
这是我的代码。现在sqhlpr.sqlText的结果是
select StudentName from tblStudentInfo where class= **Nursery**
(ieNurseryButton.Text = Nursery)但我想要的结果是从tblStudentInfo中选择StudentName,其中class =' Nursery'。如何才能完成?这看起来很简单,但我不能只想出来......
答案 0 :(得分:2)
"Select StudentName from tblStudentInfo where class='" + NurseryButton.Text + "'";
但你绝对不应该这样使用它! (SQL Injection)
这是一个很好的答案:Sql inline query with parameters. Parameter is not read when the query is executed
答案 1 :(得分:0)
您的查询是一个字符串。你这样做:
result = "somestring" + someVariable;
现在你想把someVariable
括在sinlge引号中,就像这样:
result = "somestring" + "'" + someVariable + "'";
或更短:
result = "somestring'" + someVariable + "'";
但值得注意的是,手动构建查询是“未完成”。您应该查看参数化查询等工具,甚至是实体框架等O / R映射器。
答案 2 :(得分:0)
以下代码将执行您想要的操作:
SQLHelper sqhlpr = new SQLHelper();
sqhlpr.SqlText = "Select StudentName from tblStudentInfo where class = '" + NurseryButton.Text + "'";
DataTable dt = sqhlpr.getDataTable(false);
你需要考虑另外两件事:
您应该以某种方式考虑参数化查询或存储过程,以确保您对数据库的输入安全地完成。