为什么C#中调用存诸过程用dbo.  而ms-sql 用exec ?有朋友能告知祥细些吗?

解决方案 »

  1.   

    dbo. 是管理员 类似此PROC或是表的所有者
    exec 是执行的意思  SqlConnection cn = new SqlConnection("Server=.;uid=sa;pwd=lyk;database=eslx;");
                cn.Open();
                SqlCommand cmd = new SqlCommand("proca",cn);
               // cmd .CommandText ="exec proca @a";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters .Add ("@a",SqlDbType .VarChar ).Value ="20090724";
                SqlDataReader read = cmd.ExecuteReader();
                while (read.Read())
                {
                    Response.Write(read .GetValue (0).ToString ());
                }
      

  2.   

    没啥可解释的,你说的这两者没有什么可比性。EXEC作为SQL语言本身的内建功能,就如高级语言的内建函数一般。ADO.NET是作为.NET平台下访问数据库的一种工具,如果你仍然喜欢ADO.NET通过EXEC来执行存储过程,那么就用将Command对象的CommandType设置为CommandText,然后将“EXEC MyProc”之类的命令传给Command对象。