SQL无效的对象名称地址类型“
-
24-09-2019 - |
题
我收到上述错误在我的VS 2008的C#方法,当我尝试调用SQL getColumnNames从VS.存储过程该SP接受一个输入参数,表名,并从SSMS成功的作品。目前,我选择了AdventureWorks地址类型表,它从该表中拉列名。我可以看到在VS可德的AdventureWorks表从我的服务器资源管理器/数据连接。我看到两个地址类型表和getColumnNames SP在服务器资源管理器显示。
但我仍然得到上面列出的这个错误。下面是C#代码段我用来执行这样的:
公共静态数据表DisplayTableColumns(串TT) { SqlDataReader的DR = NULL; 串表名= TT; 字符串CONNSTRING = “数据源=; AttachDbFilename = \” C:\ Program Files文件\ Microsoft SQL Server的\ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ AdventureWorks_Data.mdf \“;初始目录= AdventureWorks的;集成安全性= TRUE;连接超时= 30;用户实例= FALSE“; 串ERRORMSG; 的SqlConnection CONN2 =新的SqlConnection(CONNSTRING); 的SqlCommand CMD = conn2.CreateCommand();
try
{
cmd.CommandText = "dbo.getColumnNames";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn2;
SqlParameter parm = new SqlParameter("@TableName", SqlDbType.VarChar);
parm.Value = TableName;
parm.Direction = ParameterDirection.Input;
cmd.Parameters.Add(parm);
conn2.Open();
dr = cmd.ExecuteReader();
}
catch (Exception ex)
{
errorMsg = ex.Message;
}
和当我检查ERRORMSG它说以下内容:
" at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n
在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔breakConnection个)\ r \ n,点击 在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj个)\ r \ n,点击 在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand的cmdHandler,SqlDataReader的数据流,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj个)\ r \ n,点击 在System.Data.SqlClient.SqlDataReader.ConsumeMetaData(个)\ r \ n,点击 在System.Data.SqlClient.SqlDataReader.get_MetaData(个)\ r \ n,点击 在System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader的DS,RunBehavior runBehavior,字符串resetOptionsString个)\ r \ n,点击 在System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(的CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,布尔异步个)\ r \ n,点击 在System.Data.SqlClient.SqlCommand.RunExecuteReader(的CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,字符串方法,DbAsyncResult结果)\ r \ n,点击 在System.Data.SqlClient.SqlCommand.RunExecuteReader(的CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,字符串方法个)\ r \ n,点击 在System.Data.SqlClient.SqlCommand.ExecuteReader(的CommandBehavior行为,字符串方法个)\ r \ n在System.Data.SqlClient.SqlCommand.ExecuteReader(个)\ r \ n,点击 在ADONET_namespace.ADONET_methods.DisplayTableColumns(字符串TT)在C:\ Documents和Settings \管理员\我的文档\视觉工作室2008 \项目\ AddFileToSQL \ AddFileToSQL \ ADONET methods.cs:线35"
其中线35是
DR = cmd.ExecuteReader();
解决方案
我赶紧检查AdventureWorks数据库,并看到表“地址类型”属于模式的“人”。尝试传递“Person.AddressType”作为代码的命令参数的值的值。