實(shí)現(xiàn)SqlParameter方式
因?yàn)橥ㄟ^SQL語句的方式,有時(shí)候存在腳本注入的危險(xiǎn),所以在大多數(shù)情況下不建議用拼接SQL語句字符串方式,希望通過SqlParameter實(shí)現(xiàn)來實(shí)現(xiàn)對數(shù)據(jù)的操作,針對SqlParameter的方式我們同樣可以將其封裝成一個(gè)可以復(fù)用的數(shù)據(jù)訪問類,只是比SQL語句的方式多了一個(gè)SqlParameter的參數(shù)。
具體代碼如下: -
-
-
-
- public static int ExecuteSql(string StrSql, params SqlParameter[] cmdParms)
- {
- using (SqlConnection connection = new SqlConnection(conString))
- {
- using (SqlCommand cmd = new SqlCommand())
- {
- PrepareCommand(cmd, connection, null, StrSql, cmdParms);
- int rows = cmd.ExecuteNonQuery();
- cmd.Parameters.Clear();
- return rows;
- }
- }
- }
-
-
-
-
- public static DataSet Query(string StrSql, params SqlParameter[] cmdParms)
- {
- using (SqlConnection connection = new SqlConnection(conString))
- {
- SqlCommand cmd = new SqlCommand();
- PrepareCommand(cmd, connection, null, StrSql, cmdParms);
- using (SqlDataAdapter da = new SqlDataAdapter(cmd))
- {
- DataSet ds = new DataSet();
- da.Fill(ds, "ds");
- cmd.Parameters.Clear();
- return ds;
- }
- }
- }
|