0
こんにちは、私はSQL ServerエラーのためMicrosoft OLE DBプロバイダSQL Serverエラー '80040e14'無効な列名です。 SQLクエリ
のMicrosoft OLE DBプロバイダ '80040E14'
無効な列名 'ゴンザレス' は、このエラーメッセージを持っています。
このクエリを実行しようとすると、私は今作成しました。このウェブサイトには、企業ディレクトリのすべての姓を検索するために入力する検索ボックスがあります。
SecurityQuery = "SELECT * FROM dbCorpDir.dbo.vwEmployees WHERE sn like '" & FormatDBTextSearch(Last_Name) & "' ORDER BY sn;"
これはただ今後の参考のため
SELECT * FROM dbCorpDir.dbo.vwEmployees WHERE sn like 'gonzalez' ORDER BY sn;
[SQLインジェクションアラート](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - 一緒に連結しないでください**あなたのSQLステートメント - SQL注入を避けるために、代わりに**パラメータ化されたクエリ**を使用してください –
検索文字列に一重引用符を付けることができますか?いずれにしても、*置換後に 'SecurityQuery' *の値を出力すると、約95%のケースで問題が明らかになります。 –
SecurityQuery変数に何が含まれているかを確認すると、何が間違っているかがわかります。 Last_Nameに問題を引き起こす可能性のある特殊文字がない限り、クエリは単純で正しいと見なされます。ところで、このクエリはSQL Injectionのため安全ではありません。 – FLICKER