logo资料库

c#登陆界面与Oracle数据库连接.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
c#登陆界面与 Oracle 数据库连接 你在数据库中已经有建表了,应该有这两个字段吧,假设表名为 ADMIN ,字段为 name,pwd 也就是用户名和密码: 下面是连接和验证代码: 1.存储过程:(你自己写个或者是把这相加到数据库中) CREATE OR REPLACE PROCEDURE "SCOTT"."P_LOGIN" (v_Name varchar2, v_Password varchar2,b_Passed out char) as n_Count number; begin select count(*) into n_Count from admin where name=v_Name and password=v_Password; if n_Count > 0 then b_Passed:='1'; else b_Passed:='0'; end if; end; .net 中的登录按钮事件 OracleParameter[] parameters={ new OracleParameter("v_Name",OracleType.VarChar,20), new OracleParameter("v_Password",OracleType.VarChar,20), new OracleParameter("b_Passed",OracleType.Char,1) }; parameters[0].Value=username; parameters[1].Value=password; parameters[0].Direction=ParameterDirection.Input; parameters[1].Direction=ParameterDirection.Input; parameters[2].Direction=ParameterDirection.Output; try { //getConnection()为获得连接的方法,也就是 new 个连接对象 OracleCommand cmd=new OracleCommand("P_LOGIN",getConnection()); cmd.CommandType=CommandType.StoredProcedure; foreach(OracleParameter parameter in parameters) { cmd.Parameters.Add(parameter); } cmd.ExecuteNonQuery();//执行存储过程 closeConnection(); if(parameters[2].Value.ToString() == "1") // 跳转到登录成功后的界面
else // 提示用户名或密码错误 } catch(Exception e) { throw e; } 或者是: 试试这样: 1.安装上 Oracle Client;//假设表里面俩列,一列存用户名,一列存密码,分别为: name 和 password //登录界面上俩个文本框,一个输入用户名,一个输入密码,文本框名字为: //tbName 和 tbPswd 2.添加引用:using System.Data.OracleClient; 3. 创建连接://可以在登录按钮单击事件里面写 string connString = "Data Source = .;Initial catalog=数据库名;User ID = oracle 用户名 ;Password = 密码"; string name=tbName.Text; string pswd=tbPswd; OracleConnection conn = new OracleConnection(connString); string cmd = "select * from 表名 where name= '" + name+ " 'and password = '" + pswd + " '"; conn.Open();//打开连接 OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; cmd.CommandText = cmd; try { if (cmd.ExecuteNonQuery() == 0) { MessageBox.Show("您的用户名或密码不正确! "); } else { } MessageBox.Show("欢迎登录! ");
} catch { MessageBox.Show( "数据库无法连接! "); } finally { conn.Close(); } 应该能实现,试试,
分享到:
收藏