在 C# asp.net 中找不到表 0
本文关键字:找不到 net asp | 更新日期: 2023-09-27 18:24:26
if (ds.Tables[0].Rows.Count > 0)
{
txtid.Text = ds.Tables[0].Rows[0]["id"].ToString();
txttamil.Text = ds.Tables[0].Rows[0]["Tamil"].ToString();
txtenglish.Text = ds.Tables[0].Rows[0]["English"].ToString();
txtmaths.Text = ds.Tables[0].Rows[0]["Maths"].ToString();
txtscience.Text = ds.Tables[0].Rows[0]["Science"].ToString();
txtsocialscience.Text = ds.Tables[0].Rows[0]["SocialScience"].ToString();
}
}
在上面显示的错误"找不到表 0"。
当我输入无效的id时,它需要显示"ID不存在"。
我可以知道,我的代码中犯了什么错误吗?
存储过程:
ALTER PROCEDURE sp_studentresult
(
@id int,
@output varchar(50) output,
@id_student varchar(50)
)
AS
IF EXISTS (SELECT * FROM student WHERE id=@id_student)
BEGIN
SELECT * from studentresult where id_student=@id
END
ELSE
BEGIN
SET @output='Doesn not EXIST'
End
任何帮助将不胜感激。谢谢
用
逻辑使 sp 复杂化是没有意义的。
为什么不只检查查询是否返回了任何数据?
if (ds.Tables[0].Rows.Count > 0)
{
txtid.Text = ds.Tables[0].Rows[0]["id"].ToString();
txttamil.Text = ds.Tables[0].Rows[0]["Tamil"].ToString();
txtenglish.Text = ds.Tables[0].Rows[0]["English"].ToString();
txtmaths.Text = ds.Tables[0].Rows[0]["Maths"].ToString();
txtscience.Text = ds.Tables[0].Rows[0]["Science"].ToString();
txtsocialscience.Text = ds.Tables[0].Rows[0]["SocialScience"].ToString();
}
else
{
// Whatever you want to do if no row is found
}
还有一个更简单的sp,如果找不到任何内容,它将返回一个空表
ALTER PROCEDURE sp_studentresult
(
@id int
)
AS
-- I have removed the extra id column as not sure why you use it
SELECT * from studentresult where id_student=@id
如果 ID 不存在,则 SP 不会返回任何表格数据。 尝试将其更改为类似
IF NOT EXISTS (SELECT * FROM student WHERE id=@id_student)
BEGIN
SET @output='Does not EXIST'
END
SELECT * from studentresult where id_student=@id