2017-10-07 36 views
1

我得到异常后的结果。为什么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' 
} 
+1

,你能否告诉了'TableUpdate' SP? –

+0

exception message =“无效的对象名称blTableName'。” SP = @table(nvharchar(128),输入,无默认值) @TablePK(uniqueidentifier,Input,无默认值) –

+1

使用SQL Server自带的SQL Server Management Studio(SSMS)。该工具中有一个浏览器,可以查看表和存储过程。您需要查看数据库中的存储过程TableUpdate。 – jdweng

回答

0

我发现当尝试修改存储过程的地方我写错了问题。 但我还是想看到什么是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

相关问题