您现在的位置是:主页 > news > java电商大型网站开发/十大推广app平台

java电商大型网站开发/十大推广app平台

admin2025/6/23 17:44:56news

简介java电商大型网站开发,十大推广app平台,如何做好网络销售技巧,网站主栏目在初次接触sql时,笔者使用的是通过字符串拼接的方法来进行sql查询,但这种方法有很多弊端 其中最为明显的便是导致了sql注入。 通过特殊字符的书写,可以使得原本正常的语句在sql数据库里可编译,而输入者可以达到某些非法企图甚至能…

java电商大型网站开发,十大推广app平台,如何做好网络销售技巧,网站主栏目在初次接触sql时,笔者使用的是通过字符串拼接的方法来进行sql查询,但这种方法有很多弊端 其中最为明显的便是导致了sql注入。 通过特殊字符的书写,可以使得原本正常的语句在sql数据库里可编译,而输入者可以达到某些非法企图甚至能…
 

 

  在初次接触sql时,笔者使用的是通过字符串拼接的方法来进行sql查询,但这种方法有很多弊端

其中最为明显的便是导致了sql注入。

  通过特殊字符的书写,可以使得原本正常的语句在sql数据库里可编译,而输入者可以达到某些非法企图甚至能够破坏数据库。

  而参数化查询有效解决了这个问题,参数化查询是通过将传入的sql语句其他部分进行编译后再将其需要查询的数据插入其中然后查询,防止了在被查询信息中出现语句的情况。

  具体代码例子如下:

   /// <summary>/// 通用sql获得语句,在第一个参数传入sql语句,接下来以此写入在sql中参数化的位置与需要用于替代的字符/// </summary>/// <param name="sqlstring"></param>/// <param name="items"></param>以数组方式传入可同时对sql语句多个位置进行赋值/// <returns></returns>public DataTable Sql_Get_Datatable(string sqlstring, params string[] items){string database = database_global;string str = @"server=DESKTOP-8ROVJ5G;Integrated Security=SSPI;database=" + database;//Integrated Security 综合安全,集成安全try{string ConnectionString = @"server=DESKTOP-8ROVJ5G;Integrated Security=SSPI;database=" + database;SqlConnection conn = new SqlConnection(ConnectionString);conn.Open();SqlCommand cmd = new SqlCommand();     //生成新的连接            cmd.Connection = conn;int i;for (i = 0; i < items.Length; i += 2)          //循环替换字符串中相应位置的参数,一个@something 对应一个 somenting
            {cmd.Parameters.Add("@"+items[i], SqlDbType.VarChar);cmd.Parameters["@" + items[i]].Value = items[i+1];              }         SqlDataAdapter da = new SqlDataAdapter(cmd); //注意,此处参数应为设置完成的cmdDataTable dt = new DataTable();da.Fill(dt);conn.Close();conn.Dispose();return dt;}catch{return null;}}

    这是笔者自己写的一个简单的通过传入sql语句与相关参数获取相应DataTable数据的方法, 通过这种方法比为每一个需求写一个方法来得封装性更好一些。

转载于:https://www.cnblogs.com/Phoenix-blog/p/7895516.html