zoukankan      html  css  js  c++  java
  • 几个小知识点(返回自动增长的ID 带参数的SQL)

    1、返回自动增长的ID

    insert into mytable output inserted.ID values ('abc','cde',1)

    使用 command对象有executescalar 方法 ,返回ID号

      object autoid = command.executescalar();

    2、sqldatareader对象访问索引

      reader.getString(索引)

      reader.getInt32(索引)

    3、SQL带参数

    原始SQL语句:select count(*) from tbusers where username='abc' and userpass='abc'
    注入后的SQL:select count(*) from tbusers where username='abc' or 1=1 -- and userpass='abc'

    注入SQL后,会绕过注册验证,所以建议使用带参数的sql或者存储过程.

    string connstr="Data source=.;Initial Catalog=mydb;Integrated Security=true";
    
    using(SqlConnection conn = new SqlConnection(connstr))
    
    {
    
      //不再拼接SQL语句,使用变量 ,变量以@来标志
    
      string sql="select * from tbusers where username=@username and userpass=@userpass";
    
      using(SqlCommand command = new SqlCommand(sql,conn))
    
      {
    
        SqlParameter paramUsername = new SqlParameter("@username",SqlDbType.VarChar,50){value=txtUsername.text};
        SqlParameter paramUserpass = new SqlPatameter("@userpass",SqlDbType,VarChar,50){value=txtUserpass.text};
        command.Parameters.add(paramUsername);
        command.Parameters.add(paramUserpass);
        conn.open();
        object result = command.executescalar();
      }
    
    }

    多参数的另一种简便写法,使用数组的形式

    SqlParam[] params = new SqlParam[]
    {
      new SqlParameter("@username",SqlDbType.VarChar,50){value=txtUsername.text},
      new SqlPatameter("@userpass",SqlDbType,VarChar,50){value=txtUserpass.text}
    };
    command.Parameters.AddRange(params);

    另一个简便写法:

    command.Parameters.AddWithValues("@username",txtUsername.text);
    
    command.Parameters.AddWithValues("@userpass",txtUserpass.text);
  • 相关阅读:
    ubuntu部分端口命令的使用----开启端口/开启防火墙
    ElasticSearch 5.0及head插件安装
    维基百科语料中的词语相似度探索
    Mac下多版本JDK安装
    Mac OS 终端利器 iTerm2
    android mat 转 bitmap
    simHash 简介以及 java 实现
    Python数据可视化之matplotlib实践 源码 第二篇 精进 第六章
    Python数据可视化之matplotlib实践 源码 第二篇 精进 第五章
    Python数据可视化之matplotlib实践 源码 第一篇 入门 第四章
  • 原文地址:https://www.cnblogs.com/boentouch/p/12772188.html
Copyright © 2011-2022 走看看