CSharp Oracle 登陸


=======后台Oracle存儲過程================

1、創建表

--判讀表存在先刪除
begin
    EXECUTE IMMEDIATE 'DROP TABLE student';
    EXCEPTION WHEN OTHERS THEN NULL;
end;
/
create table student(
  stuId varchar(50) primary key not null,   --Id
  stuName varchar(50) not null,               --用戶名
  stuPwd number(20) not null                  --密碼(最后一個不能有逗號)
);
--插入數值
Insert into student values('001','張三',123);
Insert into student values('002','王五',123);
Insert into student values('003','李四',123);
Insert into student values('004','趙六',123);
commit;  --提交
--測試創建表成功
select * from student;

2、創建登陸函數
create or replace function funLogin(name in varchar2,pwd in number)
return varchar2
is
co number;
begin
    select count(*) into co from student
     where stuName=name and stuPwd=pwd;
    if co>1 then
       return '用戶'||name||',登陸成功!';
    else
       return '用戶'||name||',登陸失敗!';
    end if;
end funLogin;
/


3、測試登陸函數
set serveroutput on; --顯示輸出信息
declare
  name varchar2(50):='張三';
  pwd number(20):=123;
  re varchar2(50);
begin
  select funLogin(name,pwd) into re from dual;
  dbms_output.put_line(re);
end;
/

=======前台程序代碼======================

1、在Web.config配置登陸信息

<appSettings >
    <add key="linkOracle_01" value="Data Source=數據庫;Persist Security Info=True;User ID=用戶名;Password=密碼;Unicode=True;" />
  </appSettings>

2、前台Login.aspx

3、后台代碼Login.aspx.cs

引用添加NET命名空間

代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//引用-》添加命名空間
using System.Data.OracleClient;
using System.Data;

namespace WebApplication1
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            //用戶名和密碼可以從外部輸入
            string name = txtName.Text.Trim(); ;
            int pwd = Convert.ToInt32(txtPwd.Text.Trim());

            string strConn = System.Configuration.ConfigurationManager.AppSettings["linkOracle_01"].ToString();
            OracleConnection conn = new OracleConnection(strConn);
            OracleCommand cmd = new OracleCommand("funLogin", conn);
            cmd.CommandType = CommandType.StoredProcedure;

            //參數
            OracleParameter pName = new OracleParameter("name", OracleType.VarChar, 50);
            pName.Value = name;
            pName.Direction = ParameterDirection.Input;
            OracleParameter pPwd = new OracleParameter("pwd", OracleType.Number, 20);
            pPwd.Value = pwd;
            pPwd.Direction = ParameterDirection.Input;
            //返回值名稱可以re隨便寫
            OracleParameter pRe = new OracleParameter("re", OracleType.VarChar, 50);
            pRe.Direction = ParameterDirection.ReturnValue;

            cmd.Parameters.Add(pName);
            cmd.Parameters.Add(pPwd);
            cmd.Parameters.Add(pRe);

            conn.Open();
            cmd.ExecuteNonQuery();
            ScriptManager.RegisterStartupScript(this.btnLogin, btnLogin.GetType(),
                "re", "alert('" + pRe.Value.ToString() + "');", true);
            //或者這樣注冊 返回信息
            //Page.RegisterStartupScript("re", "<script>alert('" + pRe + "')</script>");
            conn.Close();
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM