把下列VBScript的函数转换成SQL2000的数据库函数,请问应该怎么写?
' ============================================
' 根据表名,字段和字段值得到和该字段值相等的值
' 参数说明:
' strTableName : 表名称
' strFieldName : 要得到值的字段
' strCon : 条件字段
' strConValue : 条件值
' ============================================Function GetSingleValue(strTableName, strFieldName, strCon, strConValue)
Dim objRs, strSQL
Set objRs = server.CreateObject("adodb.recordset")
strSQL = "select "&strFieldName&" from "&strTableName&" where "&strCon&" = '"&strConValue&"' and LogoutFlag='0'"
objRs.Open strSQL, conn, 1, 1
If Not objRs.EOF Then
GetSingleValue = objRs(0)
Else
GetSingleValue = ""
End If
objRs.Close
Set objRs = Nothing
End Function
' ============================================
' 根据表名,字段和字段值得到和该字段值相等的值
' 参数说明:
' strTableName : 表名称
' strFieldName : 要得到值的字段
' strCon : 条件字段
' strConValue : 条件值
' ============================================Function GetSingleValue(strTableName, strFieldName, strCon, strConValue)
Dim objRs, strSQL
Set objRs = server.CreateObject("adodb.recordset")
strSQL = "select "&strFieldName&" from "&strTableName&" where "&strCon&" = '"&strConValue&"' and LogoutFlag='0'"
objRs.Open strSQL, conn, 1, 1
If Not objRs.EOF Then
GetSingleValue = objRs(0)
Else
GetSingleValue = ""
End If
objRs.Close
Set objRs = Nothing
End Function
CREATE function f_GetSingleValue(@strTableName nvarchar(255), @strFieldName nvarchar(255), @strCon nvarchar(255), @strConValue nvarchar(255))
returns nvarchar(1000)
as
begin
declare @s nvarchar(1000)
select @s=@strFieldName from @strTableName where @strCon = @strConValue and LogoutFlag=0
return @s
end
declare @strTableName varchar(10),@strFieldName varchar(10),@strCon varchar(400),@strConValue varchar(10)
exec('select '+@strFieldName+' from '+@strTableName+' where '+@strCon+' = '+@strConValue+' and LogoutFlag=''0''')
@strTableName varchar(10),
@strFieldName varchar(10),
@strCon varchar(10),
@strConValue varchar(50)
as
exec('select '+@strFieldName+' from '+@strTableName+' where '+@strCon+'='+@strConValue)
drop proc p_select
go
create proc p_select (@tb varchar (100 ), @cols varchar (100 ), @wherecol varchar (100 ), @value varchar (100 ))
as
begin
declare @s varchar (8000 )
exec xp_sprintf @s output , 'select %s from %s where %s=''%s''' , @cols , @tb , @wherecol , @value
exec (@s)
end
goexec p_select 'sysobjects' , 'id,xtype,crdate' , 'name' , 'p_select'/*id xtype crdate
----------- ----- -----------------------
898102240 P 2009-08-18 03:01:51.153
*/
select strFieldName from strTableName where strCon = strConValue and LogoutFlag='0'
CREATE PROCEDURE RPS
@PRAM VARCHAR(10),@TJ VARCHAR(6),@VALUES VARCHAR(20),@TBNAME VARCHAR(20)
AS
DECLARE @SQL VARCHAR(500)
SET @SQL = 'SELECT * FROM ' +@TBNAME+' WHERE '+@PRAM+' '+@TJ+' '+'''' +@VALUES + ''''
---PRINT @SQL
EXEC(@SQL) 這個是我以前寫的動態查詢存儲過程,可以自定義表名,字段和條件, 參數
http://blog.csdn.net/jinjazz/archive/2009/08/27/4489870.aspx