无法从SQL Server视图获取数据 [英] unable to get data from sql server view

查看:190
本文介绍了无法从SQL Server视图获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



即时通讯无法从sql server视图中读取数据

即时通讯收到此错误:当没有数据存在时,无效的读取尝试.

从列中读取数据时出现错误,尽管创建视图时表中没有出现该数据,但在该列中生成了特殊数据.这意味着当我在sql server management studio中打开视图数据时该列可用.

但是从该列获取值时出现错误

以下是显示数据的查询,我将其保存为sql server中的视图,但无法获取列值


Hi ,

im unable to read data from sql server view

im getting this error : Invalid attempt to read when there no data is present.

getting error from reading data from column which is although not present in table when view is created that column in generated and add spcific data in that column . It means that column is available when i open view data in sql server management studio.

but im getting error in getting values from that column

following is the query which displays data , i saved it as a view in sql server but unable to get column value


SELECT R2.category, R2.subcategory, R2.keywords, tblCategories.formtype, tblCategories.metadescription
FROM tblCategories INNER JOIN
(SELECT [category], [subcategory], STUFF
((SELECT '','' + [subcategory] AS ''text()''
FROM tblCategories t2
WHERE t2.[category] = t1.[category] FOR XML PATH('''')), 1, 1, '''') AS [keywords]
FROM tblCategories t1
GROUP BY category, subcategory) R2 ON tblCategories.subcategory = R2.subcategory

推荐答案

dr.Read()循环到下一条记录,并根据是否有要读取的记录返回true或false.初始化数据读取器时,未选择第一条记录.必须通过调用dr.Read()来选择它,如果找到第一行,它将返回true;实际上,如果当前在最后一行,则将返回true直到调用Read()为止-即没有更多行留给阅读.

Dr.HasRows只是一个属性,它告诉您数据读取器是否包含行...如果存在,它将一直保持行从此处直到永恒.例如,如果要在有行的情况下执行某些操作,而在没有行的情况下进行其他操作,则可以使用此方法:

dr.Read() loops to the next record and returns true or false depending on if there''s a record to be read or not. When the data reader is initialized, the first record is not selected. It has to be selected by calling dr.Read() which will then return true if a first row is found, and indeed will return true until Read() is called when currently on the last row - i.e. there''s no more rows left to read.

dr.HasRows is just a property that tells you if the datareader contains rows... which if it does will keep having rows from here until eternity. For instance, you would use this if you wanted to do something in the event it has rows and something else in the event it doesn''t:

if (dr.HasRows)
{
    while (dr.Read())
    {
        /* Display data for current row */
    }
}
else
{
    Console.WriteLine("I didn't find any relevant data.");
}


这篇关于无法从SQL Server视图获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆