【问题标题】:Stored Procedures and asp.net programmability; variable or SQL存储过程和 asp.net 可编程性;变量或 SQL
【发布时间】:2015-08-04 15:38:21
【问题描述】:

尝试显示用户姓氏、名字 --- 网站

我需要在 Lastname 后面插入一个逗号和空格到 GridView。 我正在尝试在 SQL 中添加 CASE 语句,但无法弄清楚。

也许我需要使用@parameter(标量变量?)来抽象 从CASE 语句读取的内存;或者我的语法是错误的,我只是不 明白。

SELECT 
    CASE
       WHEN IsNull(people_Table.firstName, '') = ''
         THEN CONCAT(people_Table.lastName, ', ', people_Table.firstName) 
         ELSE people_Table.lastName
    END as fullName, 
    people_Table.website
FROM 
    people_Table 
INNER JOIN 
    membership_Table on people_Table.ID = membership_Table.personID
WHERE 
    rectype = 'Master'
    AND membershipType = 'Business'
    AND expirationDate > GetDate()
ORDER BY 
    people_Table.lastName

获取 SQL Server 错误:

消息 208,第 16 级,状态 1,第 1 行
无效的对象名称“people_Table”。

否则我想我应该在模板中使用 asp databoundevent。

性能和安全性哪个更好?

【问题讨论】:

  • 您遇到错误了吗?乍一看语法没问题。

标签: asp.net sql-server stored-procedures programmatically-created databound


【解决方案1】:
SELECT    ISNULL(people_Table.lastName + ', ', '') 
            + ISNULL(people_Table.firstName , '') as fullName
        , people_Table.website
FROM people_Table INNER JOIN membership_Table on people_Table.ID =
membership_Table.personID
WHERE rectype = 'Master'
AND membershipType = 'Business'
AND expirationDate > GetDate()
ORDER BY people_Table.lastName

SELECT    COALESCE(people_Table.lastName + ', ', '') 
            + COALESCE(people_Table.firstName , '') as fullName
        , people_Table.website
FROM people_Table INNER JOIN membership_Table on people_Table.ID =
membership_Table.personID
WHERE rectype = 'Master'
AND membershipType = 'Business'
AND expirationDate > GetDate()
ORDER BY people_Table.lastName

【讨论】:

  • 谢谢,不幸的是我仍然收到错误:无效的对象名称'people_Table'。
  • 好的错误提示 SQL Server 找不到名称为 people_Table 的表,首先确保表存在(没有拼写错误),然后确保使用表的两个部分名称,即schemaName.TableName,最后确保调用用户有权限从表中读取数据。
  • 感谢现在它正在工作!在一次学习多个变量时获得帮助总是好的。如何将 AS 结果拉到 GridView DataField? www.padreguadalupe.com
猜你喜欢
  • 2010-12-03
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 2017-09-25
相关资源
最近更新 更多