2016-05-28 8 views
-3

私は宣言された変数にStudNameの内容を渡したいと思います。私は、「+ a.ToString +」試みたが、まだ私はstudentNumberのデータベース列が数値であるが、あなたは半分英数字としてそれを治療しているエラー宣言された変数へのデータベース

string a; 

connection.Close(); 
connection.Open(); 
String strSQL = "select *from Students where StudName = '" +a.ToString() + "' and StudNum = '" + studentNumber; 
OleDbCommand command = new OleDbCommand(strSQL); 
+0

エラーとは何ですか?なぜあなたはあなたのモニター上にある情報を推測しようとするべきですか?そのコードには多くの問題があります。 – Steve

+0

文字列を連結するためのパラメータを使用します。 SQLインジェクションについて読む –

+0

SQLインジェクションに注意してください! – Odrai

答えて

2

StudNum = '" + studentNumber

を得ました。あなたがprotect against an SQL Injection attackにパラメータ化コマンドを使用する必要が

ソリューション

StudNum = " + studentNumber

。また、アポストロフィなどを含む変数などの問題も解決され、SQLも失敗する可能性があります。

関連する問題