0

簡単な質問かもしれませんが、私はASP.netを初めて使用するため、例外が発生し続けます。

クエリの解析中にエラーが発生しました。[トークン行番号=1、トークン行オフセット= 142、エラーのトークン=]

説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。

例外の詳細:System.Data.SqlServerCe.SqlCeException:クエリの解析中にエラーが発生しました。[トークン行番号=1、トークン行オフセット= 142、エラーのトークン=]

私がやろうとしているのは、グリッドビューに、ユーザーがテキストボックスに入力したものと同様の結果のみを表示させることだけです。

protected void Button1_Click(object sender, EventArgs e)
{
   string query = TextBox1.Text;
   string sql = "SELECT [Username], [Job Description] AS Job_Description, [Hours Worked] AS Hours_Worked, [Date], [ID] FROM [TimeData]"; // this one works fine 

   string sql2 = "SELECT [Username], [Job Description] AS Job_Description, [Hours Worked] AS Hours_Worked, [ID], [Date] FROM [TimeData] WHERE ([Username] == '" +query + "'";
   Response.Write("done");
   SqlDataSource1.SelectCommand = sql2;
}

.SDFローカルファイルのデータソースを使用しています。

前もって感謝します

4

2 に答える 2

3

sql2の最後に閉じ括弧がないようです

于 2013-02-08T20:38:21.430 に答える
2

@Adamが述べているように、閉じ括弧がありません。また、SQLの場合は「==」を「=」に変更します。

ただし、ユーザー名(queryvar)をSQLに直接追加すると、アプリケーションがSQLインジェクション攻撃を受ける可能性があります。SQLパラメータを使用する必要があります。http://www.dotnetperls.com/sqlparameterの例を参照してください。

于 2013-02-08T20:44:17.160 に答える