C# 我是sql新手。无法获取查询结果。运行良好,没有错误
在代码运行之前,不要太注意SQL注入。让它工作,然后保护它。尝试将变量设置为C# 我是sql新手。无法获取查询结果。运行良好,没有错误,c#,mysql,sql,sql-server,C#,Mysql,Sql,Sql Server,在代码运行之前,不要太注意SQL注入。让它工作,然后保护它。尝试将变量设置为 private void button1_Click(object sender, EventArgs e) { DataTable DataTab = new DataTable(); DaSql = new SqlDataAdapter("SELECT * FROM Student where Gender = '" + textBox1.Text + "' ", conSql); DaSq
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;
}
然后在调试器中点击它以检查完整的查询语句。确保你没有在那里像一个额外的空间任何傻子
使用修复您的SQL注入漏洞。DataGrid的查询绑定问题没有错误。 我的情况也是一样,我使用SQL、DataTable、DataGrid。 你能试试这个吗
var sqlText = "SELECT * FROM Student where Gender = '" + textBox1.Text + "' ";
需要检查窗口设计器中的DataGrid设置是否正确,包括AutoGeneratingColumns=True。
我总是使用ItemsSource,效果很好。请描述您尝试了什么以及如何使用。代码容易受到SQL注入的影响更改查询以处理
参数
您正在接受所谓的SQL注入
当您使用调试器单步执行代码时,DataTab
的值是多少?该表是用数据填充的还是空的。。?如果这是winforms或webforms应用程序,并且数据未显示,那么在分配数据源后尝试调用DataGridQueryResult.Refresh()
,conSql在哪里被分配值?如果您没有从一开始就正确编码,您建议何时有时间修复它?参数化查询太简单了,一开始不这样做是疏忽。如果SQL对您来说是新的,那么第一次就不那么简单了。获得一段工作代码是一个巨大的推动。确保这是一个合乎逻辑的步骤,这是我要表达的观点。恕我直言,我不同意。我们经常看到人们在学习这种语言,他们总是有修复它的意图,但实际上却没有学会如何去做,而且,“它是有效的”。它滋生了“如果它没有坏,就不要修复它”的心态,这导致了非常糟糕的事情。当然,让一些代码发挥作用会有所帮助,但首先教一个人正确地完成它甚至更好。
DataTable DataTab = new DataTable("Student");
DaSql = new SqlDataAdapter("SELECT * FROM Student where Gender = '" + textBox1.Text + "' ", conSql);
DaSql.Fill(DataTab);
DataGridQueryResult.ItemsSource = DataTab.DefaultView;