【发布时间】:2016-02-05 16:30:27
【问题描述】:
好的,所以这个问题与 VB6 和 SQL SERVER 2008 有关。 我目前在我的一个表单上有一个 flexgrid,它由一个简单的存储过程填充
Create Proc [dbo].[sp_LoadGrid]
As Begin
Select FirstName, LastName, SEX, DOB, School
from dbo.tblClients
在弹性网格上方,我有 2 个文本框,允许用户按名字或姓氏进行搜索。我写了一个 if 语句,只取 txt 框中写的任何字母,然后搜索网格(使用 '%')。现在我必须将它重写为一个存储过程。 这是我得到的,但它不断给我一些奇怪的错误
Creat PROC [dbo].[sp_LoadGridSearch]
@FirstName varchar(25) = null
@LastName varchar(25) = null
As Begin
Select FirstName,LastName,DOB,SSN,School
From dbo.TblClients
Where (FirstName like (@FIrstName + '%') or @FirstName is Null) Or
(LastName like (@LastName + '%') or @LastName is Null)
END
基本上我需要它做的是加载网格,如果用户在名字或姓氏文本框中输入一个字母并按搜索,它将显示名称以该特定字母开头的客户。
我不断收到的错误是 sp_cursoropen/sp.cursorprepare。语句参数只能是具有单个选择的批处理或存储过程,不能用于浏览、计算或变量分配
【问题讨论】:
-
我看到您缺少逗号来分隔两个参数,只需在第二个参数声明之前添加
,。