日期:2014-05-18  浏览次数:20531 次

SQL 储存过程!~
C# code

public static int AddOneUser(string User_name, string User_pwd, string User_email, string User_address, string User_sex, string User_phone, string User_tel)
    {
        string sql = "insert into [user](user_name,user_pwd,user_login,user_count,user_email,user_date,user_address,user_sex,user_phone,user_tel) values(@UserName,@Pwd,@Login,@Count,@Email,@Date,@Address,@Sex,@Phone,@tel)";
        OleDbParameter[] pram ={ 
            new OleDbParameter("@UserName",User_name),
            new OleDbParameter("@Pwd",User_pwd),
            new OleDbParameter("@Login",DateTime.Now.ToString()),
            new OleDbParameter("@Count",1),
            new OleDbParameter("@Email",User_email),
            new OleDbParameter("@Date",DateTime.Now.ToString()),
            new OleDbParameter("@Address",User_address),
            new OleDbParameter("@Sex",User_sex),
            new OleDbParameter("@Phone",User_phone),
            new OleDbParameter("@tel",User_tel)
         };
        return Users.sql.ExecteNoney(sql, pram);
    }


这和我 直接写 SQL语句 有啥区别?????? 我倒!·
SQL 一句话 写了就执行 有必要高那个 什么 储存过程 还写这多代码。。。  
不 明白 ? 难道就是因为 网上的朋友 说 储存过程 更“效率”的原因?????

------解决方案--------------------
从家到公司,靠,直接走路过去就可以了,为什么要上车坐车下车的....
------解决方案--------------------
这个不是存储过程
------解决方案--------------------
首先,你这个不是存储过程。
第二,如果你不这样写,当调用 AddOneUser时,参数 User_name 值为 "--"。 你试下能否正常。
------解决方案--------------------
看来你还不明白为什么要用存储过程呢...你到sql区去问问那里的人为什么用存储过程~~
------解决方案--------------------

二、使用存储过程有以下的优点:
  * 存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。
  * 可保证数据的安全性和完整性。
  # 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。
  # 通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
  * 在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。
  * 可以降低网络的通信量。
  * 使体现企业规则的运算程序放入数据库服务器中,以便:
  # 集中控制。
  # 当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。


http://baike.baidu.com/view/68525.htm
------解决方案--------------------
同意楼上,这并不是存储过程。只是简单的SQL语句执行,只不过采用Parameter的方式传值,除了Parameter方式传值外,可以直接写成字符串拼接,虽然这种方式并不推荐使用。
------解决方案--------------------
这个不是存储过程啊。。。普通的插入操作。。