zoukankan      html  css  js  c++  java
  • SqlParameter的作用(.NET)数据库操作(转载)

     
    2010-03-02 10:38

    1.问题:
    StringBuilder strSql = new StringBuilder();
    strSql.Append( "select * from WS_Class ");
    strSql.Append( " where ClassID= @ClassID ");
    SqlParameter[] parameters = {new SqlParameter( "@ClassID ", SqlDbType.Int,4)};
    parameters[0].Value = ClassID;
    return DbHelperSQL.Exists(strSql.ToString(), parameters);
    这一句我老是看不明白
    1,SqlParameter参数的作用是用来做什么的???
    2,new SqlParameter( "@ClassID ", SqlDbType.Int,4)这句,@ClassID 是什么意思
    3,parameters[0].Value = ClassID;这句,ClassID是数据库中的字段吗?
    4,这里SqlParameter参数为什么只需定义ClassID?其他字段不需要定义吗?
    回答:
    1,2,3:
    这里是执行存储过程,@ClassID是存储过程的参数
    4:这里SqlParameter参数为什么只需定义ClassID?
    应为此SP只有这个参数
    1,SqlParameter参数的作用是用来做什么的???
    2,new SqlParameter( "@ClassID ", SqlDbType.Int,4)这句,@ClassID 是什么意思
    3,parameters[0].Value = ClassID;这句,ClassID是数据库中的字段吗?
    4,这里SqlParameter参数为什么只需定义ClassID?其他字段不需要定义吗?

    问题一: 这个里面的参数是你在查询时要用到的参数,就是你存储过程里要用到的条件
    问题二: @ClassID存储过程里的参数
    问题三: ClassID不是数据库里的字段,要传到存储过程里才是的
    问题四: 因为这个存储过程里的查询语句只有一个条件
    SqlParameterCollection 仅接受非空的 SqlParameter 类型对象,不接受 SqlParameter[] 对象,主要是varchar类型的字段,如果使用默认长度,但默认长度大于表中字段长度或者默认长度小于赋值变量的长度,都会截断那些多余的字符的。

  • 相关阅读:
    CF741C.Arpa’s overnight party and Mehrdad’s silent entering [构造 二分图染色]
    CF719E. Sasha and Array [线段树维护矩阵]
    洛谷7月月赛
    CF666B. World Tour
    BZOJ4668: 冷战 [并查集 按秩合并]
    水题练习 2
    CF715B. Complete The Graph
    关于最短路、负环、差分约束系统的一点笔记
    关于最小生成树,拓扑排序、强连通分量、割点、2-SAT的一点笔记
    hdu1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/ChengDong/p/2306721.html
Copyright © 2011-2022 走看看