C# 异常消息,使用SqlDataAdapter填充datatable

C# 异常消息,使用SqlDataAdapter填充datatable,c#,stored-procedures,sqldataadapter,C#,Stored Procedures,Sqldataadapter,我对SQL运行了一个简单的查询,但似乎无法使其正常工作 DataTable loDTDOffre = new DataTable(); SqlCommand loSQLCommand = new SqlCommand("dbo.SP_StoredProc", loConnectionBD.ConnectionSql); loSQLCommand.CommandType = CommandType.StoredProcedure; loSQLCommand.Parameters.Add(

我对SQL运行了一个简单的查询,但似乎无法使其正常工作

 DataTable loDTDOffre = new DataTable();
 SqlCommand loSQLCommand = new SqlCommand("dbo.SP_StoredProc", loConnectionBD.ConnectionSql);
 loSQLCommand.CommandType = CommandType.StoredProcedure;

 loSQLCommand.Parameters.Add("@liNoUnit", SqlDbType.Int);
 loSQLCommand.Parameters["@liNoUnit"].Value = noUniteProduction;

 SqlDataAdapter loSqlDataAdapter = new SqlDataAdapter(loSQLCommand);

 loSqlDataAdapter.SelectCommand = loSQLCommand;
 loSqlDataAdapter.Fill(loDTDOffre);
我的数据库连接已打开,在SQL Management Studio中执行的存储过程工作正常。我在VS2010中得到的所有错误消息是:

Warning: Fatal error 50000 occurred at May 30 2013 11:17AM. Note the error and time, and contact your system administrator.
Process ID 59 has raised user error 50000, severity 20. SQL Server is terminating this process.
是否有任何方法可以更清楚地了解错误,代码似乎是正确的。错误信息太笼统了,我不知道我做错了什么

我的存储过程返回一个简单的select,一行


谢谢

结果它运行正常,结果如下:

对对象“thisTable”、数据库“thisDatabase”、架构“dbo”的选择权限被拒绝


修复了,谢谢。

看到存储过程不会有什么坏处。我很好奇其中是否有一个
raiseerror
子句可能会导致这种情况。事实上,我认为问题在于您正在将
StoredProcedure
命令类型分配给
SelectCommand
。我会尝试抛弃您的
SqlDataAdapter
,并将其替换为
loddoffre.Load(loSQLCommand.ExecuteReader())如果我运行SQL事件探查器,我看到我的查询(存储过程),从SQL Studio执行它,一切正常。我的存储进程中有一个“raiseerror”,但从未到达该行。VS2010中没有内部异常,“ExecuteReader”示例也无法获得有关异常的更多详细信息。