Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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# 这个的正确格式是什么??我有一个语法错误_C#_Excel_Oledb - Fatal编程技术网

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