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();
}
}
}
CSharp Oracle 登陆的更多相关文章
- Oracle登陆及修改用户密码
16:20 2013/7/7 Oracle 登陆 管理员登陆 sqlplus sys/root as sysdba (密码认证)这个root是安装数据库最初你输入的口令 sqlplus /as ...
- csharp: Oracle Stored Procedure DAL using ODP.NET
paging : http://www.codeproject.com/Articles/44858/Custom-Paging-GridView-in-ASP-NET-Oracle https:// ...
- oracle登陆的命令是什么?导出数据表的命令是什么?
登陆的命令: su - oracle sqlplus / as sysdba 导出数据表的命令: exp user/pwd@SID file=path/sth.dmp tables=(table1,t ...
- oracle登陆,在监听服务启动了的情况下,登陆用户还是报错未启动监听服务的错误(刚开始装oracle是能登陆的,重启之后装了plsql)
刚开始装oracle是能登陆的,重启之后装了140M的plsql,所以有可能是plsql跟oracle监听冲突了,所以我之后换了33M的plsql,oracle就没问题了,可以正常登陆了
- oracle登陆提示“ora-01031 insufficient privileges”
本机装了服务端的oracle11.2g,一直没用,中间换过系统的登陆用户.今早发现登陆数据库时发现老提示“ora-01031 insufficient privileges”,以为监听没配置好,试过了 ...
- oracle登陆认证方式
转自:http://blog.itpub.net/14359/viewspace-683064/ 案例: 1,发现此时操作系统认证不成功: C:\Users\Administrator.WIN-201 ...
- oracle登陆连接的问题
一.登陆 1.使用客户端 直接在database中配置: IP:1521/orcl 其中IP为要连接的IP 其中1521为要连接的数据库的端口 其中orcl为要连接的数据库的实例名字 2.使用命令行 ...
- CSharp SQLServer 登陆
=======后台SQLServer存储过程================ --创建数据库create database Stu; --创建表use MyShool;if exists(select ...
- oracle登陆触发器及精细审计
--oracle精细审计FGAselect tab2.userhost 引起操作的主机名,tab2.os_user 引起操作的主机用户,tab2.object_schema 被操作对象所属用户,tab ...
随机推荐
- App开发所要注意的几个法务问题(转)
GameLook 报道/ 移动应用市场的飞速发展催生出大量揭竿而起的开发者,同时许多矛盾也渐渐明显起来.其中涉及“抄袭”的问题尤为突出,毫不客气地说对于那些有底子的游戏厂商来说,法务已经成为团队中的一 ...
- 设计模式(三)-- 适配器模式(Adapter)
适配器模式(Adapter) 考虑一个记录日志的应用,由于用户对日志记录的要求很高,使得开发人员不能简单地采用一些已有的日志工具或日志框架来满足用户的要求,而需要按照用户的要求重新开发新的日志管理系统 ...
- Abot 爬虫
Abot 爬虫分析-整体结构 1. 引言 在Github 上搜索下Web Crawler 有上千个开源的项目,但是C#的仅仅只有168 个,相比于Java 或者Python 确实少的可怜.如果按照St ...
- ASP.NET常被忽视的一些细节
原文:ASP.NET常被忽视的一些细节 前段时间碰到一个问题:为什么在ASP.NET程序中定时器有时候会不工作? 这个问题看起来很奇怪,代码好像也没错,但就是结果与预期不一致. 其实这里是ASP.NE ...
- linux 查看某进程或程序的网卡流量(转)
一.nethogs介绍 分享一个linux 下检测系统进程占用带宽情况的检查.来自github上的开源工具. 它不依赖内核中的模块.当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个 ...
- Ubuntu下实现双屏独立切换
在编码时,总觉得屏幕大小不够,要是能多个屏多好,可以这样 把你的显示器连接到你的电脑,然后开启一个终端 输入:xrandr 显示如下: LVDS1 connected 1366x768+1024+0 ...
- 使用FragmentTabhost取代Tabhost
如今Fragment使用越来越广了,尽管Fragment寄生在Activity下.可是它的出现对于开发人员来说是一件很幸运的事,使开发的效率更高效了.好了以下就说说 FragmentTabhos ...
- 端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区
端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区 端口映射工具 redir/socat/xinetd 10人收藏此文章, 我要收藏 发表于3天前(2013-08 ...
- android Vibrator 用法
private Vibrator mvibrator; 1.服务的句柄 mvibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); 或者 ...
- iOS 同步GET
(注意: 能够整片复制)