1

axps.csページに次のコードがあります...そして、mはSQLクエリのセッション値のフェッチに問題があります:

connection.Open();
string sqlStatement = "SELECT date as 'Date',name as 'Name',gender as 'Gender',
                       age as 'Age',addr as 'Address',perAddr as 'Permanent Address',
                       pno as 'Phone No',altName as 'Alternate Contact Person',
                       altPno as 'Alternate Person Pno',fever as 'Duration Of Fever',
                       locType as 'Location Type',patType as 'Patient Type',
                       radTreat as 'Radical Treatment Given?', followup as 'Treatment Status',
                       taluk as 'Taluk',phc as 'PHC',malType as 'Malaria Type',
                       death as 'Death Status' FROM patients 
                       WHERE (**date=Session['selDate'] and name=Session['selName']**)";
SqlCommand sqlCmd = new SqlCommand(sqlStatement, connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
DataTable dt = new DataTable();
4

1 に答える 1

0

さて、このリンクをチェックして、セッションアイテムがどのように機能するかを理解してください. 簡単に言うと:

string firstName = (string)(Session["First"]);
string lastName = (string)(Session["Last"]);
string city = (string)(Session["City"]);

詳細: クエリを手動で作成しないでください。代わりにクエリ パラメータを使用してください。これにより、 Sql インジェクションや、型変換 (日付/時刻、小数点区切りが異なる浮動小数点数など) による多くの頭痛の種を防ぐことができます。
だからあなたは試してみるべきです

string sqlStatement = "SELECT date as 'Date',name as 'Name', ....
                       WHERE date=@pData AND name=@pName";
SqlCommand sqlCmd = new SqlCommand(sqlStatement, connection);
sqlCmd.Parameters.AddWithValue("pData", (DateTime)Session["selDate"]);
sqlCmd.Parameters.AddWithValue("pName", (String)Session["selName"]);
于 2013-09-04T05:43:53.803 に答える