首页 新闻 会员 周边

怎样调用存储过程

0
悬赏园豆:5 [待解决问题]

当用三层写项目时不会调用存储过程,谁能给个具体的例子,非常感谢

杀  手的主页 杀 手 | 菜鸟二级 | 园豆:213
提问于:2011-05-09 21:09
< >
分享
所有回答(8)
0

……这问题问的…让人很难回答。

Firen | 园豆:5385 (大侠五级) | 2011-05-09 21:39
0

1、 sqlcommand cmd=new sqlcommand();

     然后指定他的sqlconntion和sqltxt;

  2、    cmd.Connection = Connection;        

 3、   cmd.CommandText = "GetPageData";         

   4、 cmd.CommandType = CommandType.StoredProcedure;

M_ary | 园豆:210 (菜鸟二级) | 2011-05-09 23:39
标准答案呀。
支持(0) 反对(0) Jesong | 园豆:4 (初学一级) | 2011-05-10 11:24
0

跟调用sql语句是一样一样的

梅莲芳 | 园豆:669 (小虾三级) | 2011-05-10 00:29
0

用三层在需要时也用存储过程啊

慧☆星 | 园豆:5640 (大侠五级) | 2011-05-10 09:06
0

调用存储过程和用几层没有关系的,调用这个和你不用分层时的用法是一样一样的

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2011-05-10 10:31
0

就是把传过来的 string sql="存储过程的名称"  原来写sql语句的地方  基本上相同

风拂泪微,独依竹阁 | 园豆:381 (菜鸟二级) | 2011-05-10 12:05
0

比如你定义了一个Woker的数据访问层,Worker _worker = new Woker();为它属性赋值 _worker.Name="张三";

SqlParameter[] parameters = {
     new SqlParameter("@Name", SqlDbType.NVarChar,10),}

parameters[0].Value= _worker.Name;

using (SqlConnection connection = new SqlConnection(connectionString))
            {
                int result;
                try
                {
                    connection.Open();
                }catch(Exception){
                    MessageBox.Show("无法连接指定服务器!程序关闭!");
                    Application.Exit();
                }
                SqlCommand command = BuildIntCommand(connection, "worker_Add", parameters);
                rowsAffected = command.ExecuteNonQuery();
                result = (int)command.Parameters["ReturnValue"].Value;
                connection.Close();
                return result;
            }      

辛巴 | 园豆:622 (小虾三级) | 2011-05-10 13:29
0

public List<Class1> SelectFiles(int start,int end,string name)
       {

           List<Class1> list = new List<Class1>();
            SqlCommand cmd = new SqlCommand("proc_page", DBhelp .Sqlconn());//和数据库里的存储过程名称一样
            cmd.CommandType = System.Data.CommandType.StoredProcedure;//执行存储过程

            cmd.Parameters.Add("@start", System.Data.SqlDbType.Int).Value = start;//开始行索引
            cmd.Parameters.Add("@end", System.Data.SqlDbType.Int).Value = end;//结束行索引
            cmd.Parameters.Add("@name", System.Data.SqlDbType.VarChar, 20).Value = name;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                Class1 c = new Class1();
                c.F_filename = dr["f_filename"].ToString();
                c.U_username = dr["u_username"].ToString();
                c.F_remark = dr["f_remark"].ToString();
                c.F_id = Convert.ToInt32(dr["f_id"]);
                list.Add(c);
            }
            dr.Close();
            DBhelp.Sqlconn().Close();
            return list;
       }

呵呵呵,和sql语句一样,就是改一下执行CommandType

木木代码人生 | 园豆:245 (菜鸟二级) | 2011-05-12 20:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册