还是给你一个现成的例子罢! 1、Sp(存储过程) /* 功 能: 验证用户名和密码是否正确(校验用户名和密码;登陆用) 输入参数(可选): LoginName : 登陆名 PSW : 登陆密码 返回值: 0 : 没有符合条件的记录(登陆名名和密码不正确) >=1 : 找到符合条件的记录(登陆名和密码正确,校验通过) */ CREATE PROCEDURE BCLHR.sp_ChkPsw @LoginName char(10) = '', -- '' default value @PSW char(30) = '' -- '' default value AS Set Nocount ON Declare @Count AS Int -- Get values. Select @Count = (Select count(psw) From T_EmpDetail Where LoginName=@LoginName and PSW = @PSW) -- 如果找到用户的话则返回相关的 EmpID,否则返回空字符串 IF @Count > = 1 Begin Select EmpID From T_EmpDetail Where LoginName=@LoginName and PSW = @PSW End Else Begin Select '' End GO2、DLL: ' '功能: 验证用户名和密码是否正确(校验用户名和密码;登陆用) ' Public Function ChkPSW( _ ByVal LoginName As String, _ ByVal PSW As String _ ) As String
On Error GoTo ErrorProcess
Dim p_RS As ADODB.Recordset Dim p_Cmd As Command
m_SuccessOrNot = False
'' Initialize ADO Connection Set p_RS = New ADODB.Recordset Set p_Cmd = New Command
续上篇) 3、登陆 ' 检查密码是否正确 ' Private Sub cmdchkPSW_Click()On Error GoTo ErrorProcess Dim Obj1 As Object Dim sTmp As String Dim sTmp2 As String Dim iTmp As Integer
adostoredproc1.ExecProc;
edit1.Text:=varToStr(adostoredproc1.Parameters.ParamByName('xyz').Value);
首先,你的SQL语句应正确(可在查询分析器中调试),一般情况下,应该只有一个数据集,如果有多个数据集,可考虑2种方法:
1. 使用你Client端开发工具提供的存储过程调用控件的参数得到返回值;
2. 使用你Client端开发工具提供的访问多个数据集的方法得到第2以及其它的数据集。你用什么Client端开发工具?
http://www.csdn.net/expert/topic/658/658479.xml?temp=.8258173
http://www.csdn.net/expert/topic/662/662339.xml?temp=5.376834E-02
1、Sp(存储过程)
/*
功 能:
验证用户名和密码是否正确(校验用户名和密码;登陆用) 输入参数(可选):
LoginName : 登陆名
PSW : 登陆密码 返回值:
0 : 没有符合条件的记录(登陆名名和密码不正确)
>=1 : 找到符合条件的记录(登陆名和密码正确,校验通过)
*/
CREATE PROCEDURE BCLHR.sp_ChkPsw
@LoginName char(10) = '', -- '' default value
@PSW char(30) = '' -- '' default value
AS Set Nocount ON Declare @Count AS Int -- Get values.
Select @Count = (Select count(psw) From T_EmpDetail Where LoginName=@LoginName and PSW = @PSW) -- 如果找到用户的话则返回相关的 EmpID,否则返回空字符串
IF @Count > = 1
Begin
Select EmpID From T_EmpDetail Where LoginName=@LoginName and PSW = @PSW
End
Else
Begin
Select ''
End
GO2、DLL:
'
'功能: 验证用户名和密码是否正确(校验用户名和密码;登陆用)
'
Public Function ChkPSW( _
ByVal LoginName As String, _
ByVal PSW As String _
) As String
On Error GoTo ErrorProcess
Dim p_RS As ADODB.Recordset
Dim p_Cmd As Command
m_SuccessOrNot = False
'' Initialize ADO Connection
Set p_RS = New ADODB.Recordset
Set p_Cmd = New Command
'' Open ADO connection
p_Cmd.ActiveConnection = G_ADO_ConStr
p_Cmd.CommandText = "Sp_ChkPSW"
p_Cmd.CommandType = adCmdStoredProc
p_Cmd.Parameters.Refresh
'' 创建存储过程参数
p_Cmd.Parameters("@LoginName") = LoginName
p_Cmd.Parameters("@PSW") = PSW
'' 执行存储过程,并将结果集合返回
Set p_RS = p_Cmd.Execute
'' 赋结果
ChkPSW = p_RS(0)
'' 置函数执行成功标志
m_SuccessOrNot = True
Exit Function
'' 出错处理程序段
ErrorProcess:
m_SuccessOrNot = False
ChkPSW = ""
Err.Raise Err.Number, Err.Source, Err.DescriptionEnd Function
3、登陆
' 检查密码是否正确
'
Private Sub cmdchkPSW_Click()On Error GoTo ErrorProcess Dim Obj1 As Object
Dim sTmp As String
Dim sTmp2 As String
Dim iTmp As Integer
Set Obj1 = CreateObject("ProjName.clsUser")
sTmp = Trim(txt1)
sTmp2 = Trim(txt2)
iTmp = Obj1.ChkPSW(sTmp, sTmp2)
MsgBox iTmp
Exit Sub
ErrorProcess:
Err.Raise Err.Number, Err.Source, Err.Description
End Sub4、Now is OK!