0

SQL Server 2000 と従来の ASP を使用して、テーブルを使用して結果を HTML で表示しています。SQL table に存在する列レコードの値の合計を取得しようとしています。そのために、これを試しました。

Balance Leave =<%
                        sql= "select SUM('no_of_leave_taken') from emp_leave_details where emp_no='"&request.QueryString("id")&"'"  
                        rs.open sql,con,1,2
                        response.Write(con.execute sql)
                        rs.close
                        %>

ブラウザに表示されるエラーは

合計または平均の集計操作では、引数として varchar データ型を使用できません。

4

2 に答える 2

2

これは SQL エラーのようです。SQL Server Enterprise Manager でそのクエリを実行するとどうなりますか? emp_details.no_of_leave_taken数値フィールドですか?

もう 1 つ追加します。未確認のクエリ文字列の値は決して使用しないでください。SQL インジェクション攻撃に関するこの ASP 向けの説明を読んで、その理由を少し説明してください。

于 2012-05-10T09:46:37.023 に答える
1

代わりにこれを試してみましたが、自分で考え出しました<% sql= "select SUM(no_of_leave_taken) as total from emp_leave_details where emp_name='"&request.QueryString("name")&"'" rs.open sql,con,1,2 response.Write(31- rs("total")) %>。これは私にとって新しいことでした...上記のクエリの「合計」という表現がうまく機能し、Thanks rs("total")@を使用してレコードセットで仮想的に新しい列フィールドとして呼び出したため、混乱しましたあなたの助けのためのグレナトロン

于 2012-05-11T03:36:07.007 に答える