CREATE TABLE [dbo].[aaa] ( [UserName] [varchar] (50) NOT NULL , [PWD] [varchar] (50) NOT NULL ) ON [PRIMARY] GOSET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GOCREATE PROC au_info @name varchar(40), @pwd varchar(20) ,@c int output as select @c=count(*) from aaa where UserName = @name and PWD=@pwd GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GOprivate void Button1_Click(object sender, System.EventArgs e) { if(DBAuthenticate(TextBox1.Text,TextBox2.Text)==0) { Response.Write("密码错误"); } } private int DBAuthenticate(string strUsername,string strPassword) { //OleDbConnection myConnection= new OleDbConnection(ConfigurationSettings.AppSettings["connectionString"]); OleDbConnection myConnection= new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=test;UID=sa"); myConnection.Open(); OleDbCommand myCommand = new OleDbCommand("au_info",myConnection); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.Add("@UserName",strUsername); myCommand.Parameters.Add("@PWD",strPassword); OleDbParameter custDA = myCommand.Parameters.Add("RETURN_VALUE",OleDbType.Integer); custDA.Direction =ParameterDirection.ReturnValue;
myCommand.ExecuteNonQuery(); int intResult; intResult = System.Convert.ToInt32(myCommand.Parameters["RETURN_VALUE"].Value.ToString()); myConnection.Close(); if (intResult < 0) { Response.Write(intResult.ToString()); } return intResult; } 主要问题是添加参数的时候,位置搞错了。
method(云青青兮欲雨,水澹澹兮生烟):下面这个东东写到哪里?我用的ORACLE816 CREATE TABLE [dbo].[aaa] ( [UserName] [varchar] (50) NOT NULL , [PWD] [varchar] (50) NOT NULL ) ON [PRIMARY] GOSET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GOCREATE PROC au_info @name varchar(40), @pwd varchar(20) ,@c int output as select @c=count(*) from aaa where UserName = @name and PWD=@pwd GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO
oracle816里面要建一个名为DBAuthenticate 文本如下: CREATE PROCEDURE DBAuthenticate( @username Varchar( 100 ), @password Varchar( 100 ) ) AsDECLARE @ID INT DECLARE @actualPassword Varchar( 100 )SELECT @ID = IdentityCol, @actualPassword = u_password FROM UserList WHERE u_username = @usernameIF @ID IS NOT NULL IF @password = @actualPassword RETURN @ID ELSE RETURN - 2 ELSE RETURN - 1 GO 怎么建啊!!!!!!!!!!
[UserName] [varchar] (50) NOT NULL ,
[PWD] [varchar] (50) NOT NULL
) ON [PRIMARY]
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GOCREATE PROC au_info @name varchar(40), @pwd varchar(20) ,@c int output
as
select @c=count(*) from aaa where UserName = @name and PWD=@pwd
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GOprivate void Button1_Click(object sender, System.EventArgs e)
{
if(DBAuthenticate(TextBox1.Text,TextBox2.Text)==0)
{
Response.Write("密码错误");
}
} private int DBAuthenticate(string strUsername,string strPassword)
{
//OleDbConnection myConnection= new OleDbConnection(ConfigurationSettings.AppSettings["connectionString"]);
OleDbConnection myConnection= new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=test;UID=sa");
myConnection.Open(); OleDbCommand myCommand = new OleDbCommand("au_info",myConnection);
myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.Add("@UserName",strUsername);
myCommand.Parameters.Add("@PWD",strPassword);
OleDbParameter custDA = myCommand.Parameters.Add("RETURN_VALUE",OleDbType.Integer);
custDA.Direction =ParameterDirection.ReturnValue;
myCommand.ExecuteNonQuery();
int intResult;
intResult = System.Convert.ToInt32(myCommand.Parameters["RETURN_VALUE"].Value.ToString());
myConnection.Close();
if (intResult < 0)
{
Response.Write(intResult.ToString());
}
return intResult;
}
主要问题是添加参数的时候,位置搞错了。
CREATE TABLE [dbo].[aaa] (
[UserName] [varchar] (50) NOT NULL ,
[PWD] [varchar] (50) NOT NULL
) ON [PRIMARY]
GOSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GOCREATE PROC au_info @name varchar(40), @pwd varchar(20) ,@c int output
as
select @c=count(*) from aaa where UserName = @name and PWD=@pwd
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
文本如下:
CREATE PROCEDURE DBAuthenticate(
@username Varchar( 100 ),
@password Varchar( 100 )
)
AsDECLARE @ID INT
DECLARE @actualPassword Varchar( 100 )SELECT
@ID = IdentityCol,
@actualPassword = u_password
FROM UserList
WHERE u_username = @usernameIF @ID IS NOT NULL
IF @password = @actualPassword
RETURN @ID
ELSE
RETURN - 2
ELSE
RETURN - 1
GO
怎么建啊!!!!!!!!!!
在ORACLE中用什么可替代?
RETURN_VALUE.Direction = System.Data.ParameterDirection.Output;