Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我是sql新手。无法获取查询结果。运行良好,没有错误_C#_Mysql_Sql_Sql Server - Fatal编程技术网

C# 我是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

在代码运行之前,不要太注意SQL注入。让它工作,然后保护它。尝试将变量设置为

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;