| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 924 人关注过本帖
标题:关于给存储过程传递参数的问题
取消只看楼主 加入收藏
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
结帖率:95.12%
收藏
已结贴  问题点数:10 回复次数:1 
关于给存储过程传递参数的问题
新人问题总是很多,麻烦高手们,先谢谢了!

下面是一段调用存储过程的代码,红色部分的代码我已经遇到过好几遍了,知道Parameter对象可以防止SQL注入,实现参数化查询。但我就是不理解Parameter的用法和它到底是运作的,Parameter到底是一个什么样的对象?

困惑:

SqlParameter sex = new SqlParameter("@sex", SqlDbType.VarChar, 5);//定义了一个SqlParameter对象sex,那么@sex是sex的参数?sex.value获取的值是不是就是@sex的值?如果是的话,有三个@sex这样的变量(@sex1,@sex2,@sex3)那sex.value表示的是谁的值?

mycmd.Parameters.Add(sex);//这句话的意思到底是什么哦?
将SqlParameter对象sex添加到command的Parameters集合中?Parameters集合又是啥?添加到Parameters集合中和传递参数有什么关系,其实这个参数到底是怎么传过去的我就是搞不清楚,不理解!执行到这句话的时候存储过程被调用了没有?怎么没有用到mycmd.ExecuteNonQuery();


        SqlConnection mycon = getconnection();
        mycon.Open();
        SqlCommand mycmd = new SqlCommand();
         = CommandType.StoredProcedure;
        mycmd.Connection = getconnection();
         = "get_student";

        
        SqlParameter sex = new SqlParameter("@sex", SqlDbType.VarChar, 5);
        sex.Value = DropDownList1.Text;
        mycmd.Parameters.Add(sex);


        SqlDataAdapter da = new SqlDataAdapter(mycmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        GridView1.DataSource = dt;
        GridView1.DataBind();
搜索更多相关主题的帖子: 参数 
2010-07-28 00:27
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
谢谢,谢谢你的耐心,
2010-07-28 11:53
快速回复:关于给存储过程传递参数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016556 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved