【发布时间】:2013-01-13 14:21:53
【问题描述】:
我正在尝试将 SQL 函数与 SQLDataAdabter 一起使用,但是当我运行我的应用程序时出现此异常:
对象引用未设置为对象的实例
在那一行:
adbtr.SelectCommand.CommandType = CommandType.Text;
当我删除该行时,我得到了相同的异常,但在后面的行中:
adbtr.SelectCommand.CommandText = "SELECT * FROM Select_gallery_names_FN()";
这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
DataSet dst = new DataSet();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
{
SqlDataAdapter adbtr = new SqlDataAdapter();
adbtr.SelectCommand.CommandType = CommandType.Text;
adbtr.SelectCommand.CommandText = "SELECT * FROM Select_gallery_names_FN()";
try
{
int result = adbtr.Fill(dst);
if (result == 0)
{
return;
}
cat_repeater.DataSource = dst;
cat_repeater.DataBind();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
}
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
你的表名是
Select_gallery_names_FN()? -
你两次设置
SelectCommand的值是什么? -
它不是一个表,它是一个内联表值函数,它正在破坏,因为你没有它前面的模式。如果您使用的是默认架构,请尝试“Select * From dbo.Select_gallery_names_FN()”
-
我很想看看函数的内容。您没有传递任何变量,所以您不能使用视图是否有特殊原因?
-
@Brian 啊,我没看到,反正它没有任何意义,因为它还没有被初始化,但我明白你在说什么。
标签: c# asp.net sql exception sqldataadapter