Sqlcommand去执行
问题描述:
我得到异常后的结果。为什么sqlcomm
试图找到doTable
默认表字符串'blTableName'?我不会将此名称发送到sqlcomm
,所以我需要查看sqlcomm
已执行的SQL查询。Sqlcommand去执行
这是数据库中添加参数“表名”表,但无论如何例外,而不是返回1
string t_table_name = "TableName";
try
{
BindingList<doTable> bl = new
daTable().getTable(CoreStatic.s_SqlServerConfigLocal, new doTable() { table_ = t_table_name, TablePK = p_doWcfTicketQueue.TablePK, TableBFK =
CoreStatic.s_CurrentBPK }, Enums.DynamicType.BindingList);
foreach (doTable item_odoTable in bl)
{
SqlConnection SqlConn = new SqlConnection(blabla);
SqlCommand sqlcomm = new SqlCommand("TableUpdate", SqlConn);
SqlConn.Open();
sqlcomm.CommandType = CommandType.StoredProcedure;
sqlcomm.Parameters.Add(new SqlParameter()
{ ParameterName = "@table", SqlDbType = SqlDbType.NVarChar, Direction = ParameterDirection.Input, Value = t_table_name });
sqlcomm.Parameters.Add(new SqlParameter()
{ ParameterName = "@TablePK", SqlDbType = SqlDbType.UniqueIdentifier, Direction = ParameterDirection.Input, Value = item_odoTable.TablePK });
//is that possible to see sqlcomm sql query? like" insert into TableName... bla bla "
result = sqlcomm.ExecuteNonQuery();
}//try
catch (SqlException exc)
{
//exc = invalid object name 'blTableName'
}
答
我发现当尝试修改存储过程的地方我写错了问题。 但我还是想看到什么是sqlcomm.ExecuteNonQuery
发送一个SQL查询语句
insert into blTableName//wrong
insert into '[email protected]+'//right
+1
您是否尝试过使用https://docs.microsoft.com/zh-cn/sql/tools/sql-server-profiler/sql-server-profiler? – mjwills
,你能否告诉了'TableUpdate' SP? –
exception message =“无效的对象名称blTableName'。” SP = @table(nvharchar(128),输入,无默认值) @TablePK(uniqueidentifier,Input,无默认值) –
使用SQL Server自带的SQL Server Management Studio(SSMS)。该工具中有一个浏览器,可以查看表和存储过程。您需要查看数据库中的存储过程TableUpdate。 – jdweng