语法没什么问题吧。确定UserInfo表已建立,表包含U_name字段。

解决方案 »

  1.   

    确定,已经建好了,我把select语句直接执行就可以,但是存储过程就不行了
      

  2.   

    还有就是,我选中这个过程后点右键,选择运行选定内容也不报错啊,在数据库的存储过程项也会出现这个存储过程,但是我Modify它的时候,它的语法就变了:
    ALTER PROCEDURE checkName 
    (
    @userName varchar(50)
    )
    AS
    select count(*) from UserInfo where U_name = @userName
    这样对吗?
      

  3.   

    CREATE PROCEDURE checkName 

    @userName varchar (50) 

    AS 
    begin
        Select count(*) from UserInfo where U_name = @userName
    endGo 
      

  4.   

    我执行单步调试的时候有这样的信息:
    @RETURN_VALUE = 0
    完成 [dbo].[checkName] 运行。
    也没有报错,可是我用的参数值是数据表里已经存在的值啊
      

  5.   

    貌似参数不需要加括号.CREATE PROCEDURE checkName 
    --(
    @userName varchar (50) 
    --)
    AS 
    Select count(*) from UserInfo where U_name = @userName Go 
    联机丛书:CREATE PROCEDURE
    http://msdn2.microsoft.com/en-us/library/aa258259(SQL.80).aspx
      

  6.   

    o,还有,你的Begin end都没有.
    CREATE PROCEDURE checkName 
    --(
    @userName varchar (50) 
    --)
    AS 
    begin
    Select count(*) from UserInfo where U_name = @userName 
    endGo 
      

  7.   

    谢谢各位了,happyflystone和hery2002的方法我试过了,也不行,还是报go附近有错误
      

  8.   

    SELECT     U_name
    FROM         UserInfo
    WHERE     (U_name = 'nainse')
    这条语句我单独执行就能查到数据
      

  9.   

    可能里面有非法字符,比如有char(13)而没有char(10)
    新增查询,对着这里一个一个重新敲一次,或者直接复制代码转换后的代码,新学最好重敲一次:CREATE PROCEDURE checkName
    (
    @userName varchar (50)
    )
    AS
    Select count(*) from UserInfo where U_name = @userName
    Go
      

  10.   

    CREATE PROCEDURE insertUserInfo
    @userName varchar(50),
    @userPwd varchar(50)
    AS
    insert into UserInfo values(@userName,@userPwd)
    RETURN
    go
    我执行这个过程的时候,数据是已经插如到数据库了,但是保存的时候还是说go列名无效!!!。
      

  11.   

    数据库里U_name的类型是nvarchar(50),和这个有关吗?但是我刚开始用@userName nvarchar(50)也是不行的
      

  12.   

    是想保存这个存储过程,不过刚在网上看到说是直接执行就能生成了,呵呵,可是我想知道为什么我在保存的时候会报这个错呢!
    还有就是那个checkName的过程,我在vb.net里调用它的时候说是“无效操作,数据库连接关闭”