C# 这个的正确格式是什么??我有一个语法错误
我有一个语法错误。C# 这个的正确格式是什么??我有一个语法错误,c#,excel,oledb,C#,Excel,Oledb,我有一个语法错误。 这个的正确格式是什么?你把放在哪里两次,而把和放在第二位&忘了放= OleDbDataAdapter da = new OlDbDataAdapter("SELECT * FROM[Sheet1$] Where Dormitory"+comboBox2.SelectedItem+" Where City"+comboBox1.SelectedItem+"",baglan); 注意:它易受SQLI攻击。最好使用事先准备好的语句 编辑:正如@Thorsten Dittmar所说
这个的正确格式是什么?你把
放在哪里两次,而把和放在第二位&忘了放=
OleDbDataAdapter da = new OlDbDataAdapter("SELECT * FROM[Sheet1$] Where Dormitory"+comboBox2.SelectedItem+" Where City"+comboBox1.SelectedItem+"",baglan);
注意:它易受SQLI攻击。最好使用事先准备好的语句
编辑:正如@Thorsten Dittmar所说,如果使用带空格的字符串,那么你应该使用单引号你需要在宿舍
和城市
后面加一个空格,在宿舍
和城市
后面加一个等号,正如回答中所指出的,这里的解决方案是首先停止像那样构建SQL。使用参数化SQL,这将更加清晰;b) 免受SQL注入攻击;c) 更安全的转换(尤其是在日期前后)。@JonSkeet除此之外,解决方案当然是首先使用正确的SQL语法:-)@ThorstenDittmar:Yup-但这将变得更容易看到(我怀疑OP已经发现了它)如果不是字符串连接。请不要建议继续存在SQL注入攻击漏洞的解决方案。请注意,字符串参数可能需要单引号。另外,请使用参数化查询以避免SQL注入。如果使用参数化查询,可以省略单引号。
OleDbDataAdapter da = new OlDbDataAdapter(@"SELECT * FROM[Sheet1$]
Where Dormitory='"+comboBox2.SelectedItem+"' AND City='"+comboBox1.SelectedItem+"'",baglan);