我用的是SQLSERVER2000要查询yhxx表
存储过程如下:CREATE Procedure serch_name(
@v_name nvarchar(20)
)as
begin
select * from yhxx where xm like '%" + @v_name + "%'
end
GO
程序代码如下:
v_name = Trim(xm.Text)
db.CursorLocation = adUseClient
Dim rs As New adodb.Recordset
Set rs = db.Execute("exec serch_name '" + v_name + "'")
Set DataGrid.DataSource = rs错误是:
Set DataGrid.DataSource = rs 有问题,提示 要求对象!!
存储过程如下:CREATE Procedure serch_name(
@v_name nvarchar(20)
)as
begin
select * from yhxx where xm like '%" + @v_name + "%'
end
GO
程序代码如下:
v_name = Trim(xm.Text)
db.CursorLocation = adUseClient
Dim rs As New adodb.Recordset
Set rs = db.Execute("exec serch_name '" + v_name + "'")
Set DataGrid.DataSource = rs错误是:
Set DataGrid.DataSource = rs 有问题,提示 要求对象!!
'去掉單引號
select * from yhxx where xm like '%" + @v_name + "%'这样写是不是会有问题,我怎么查询不出来呢如果写成
select * from yhxx where xm = @v_name 就可以查出来!!!
我要模糊查询 我该怎么做???
CREATE Procedure serch_name(
@v_name nvarchar(20)
)as
declare @strSql nvarchar(4000)
begin
set @strSql='select * from Kc_Product where ProductNo like ''%' + @v_name + '%'''
exec(@strSql)
end
GO程序代码如下:
v_name = Trim(xm.Text)
db.CursorLocation = adUseClient
Dim rs As New adodb.Recordset
Set rs = db.Execute("exec serch_name " + v_name)
Set DataGrid.DataSource = rs
如果还有个条件 V_tm 那个SQL 应该怎么写??create proc serch_name
@v_XM nvarchar(255) =null,@v_TM nvarchar(255) =null
as
declare @SQL varchar(400)set @SQL = 'select top 20 * from yhxx where 1=1 'if @v_XM <> ''
begin
set @SQL=@SQL + 'and XM like ' + @v_XM + '% '
end
if @v_TM <> ''
begin
set @SQL=@SQL + 'and TM like ' + @v_TM + '%'
endexec(@SQL)
我什么也查不出来???