本文介绍了如何查看发送到数据库的SQL后的参数已经取代了他们的占位符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

第一个MessageBox.Show()下面简单地表明我同样的事情作为常量字符串SQL_GET_VENDOR_ITEMS,这似乎没什么问题,但我发现,有分析查询出错。[令牌行号,令牌行偏移,,令牌错误,,]



有没有办法窥视SQL的内容已被添加的参数后, ;那么就应该是这样的:选择项ID,PackSize FROM VendorItems其中,vendorid ='测试'AND VendorItemID ='852963'



下面是相关代码:

 常量字符串SQL_GET_VENDOR_ITEMS =选择项ID,PackSize+ 
FROM VendorItems+
其中,vendorid = @VendorID和VendorItemID = @VendorItemID;

串retVal的=的String.Empty;
checkConnection();
SqlCeCommand vendorCMD = objCon.CreateCommand();

{
vendorCMD.CommandText = SQL_GET_VENDOR_ITEMS;
vendorCMD.Parameters.Add(@厂商ID,SqlDbType.NVarChar,10).value的=厂商ID;
vendorCMD.Parameters.Add( @VendorItemID,SqlDbType.NVarChar,19).value的= VendorItemID;

MessageBox.Show(的String.Format(用SQL {0},vendorCMD上到vendorCMD.ExecuteReader()。 CommandText中));



vendorReader.Close();
}
赶上(SqlCeException sqlceex)
{
MessageBox.Show(的String.Format(SqlCeException在GetValsForVendorAndItem == {0},sqlceex.Message)); // TODO:删除
}
终于
{
vendorCMD.Dispose();
}
返回retVal的;



。 。


解决方案

ahhh... version - see MSDN:

这篇关于如何查看发送到数据库的SQL后的参数已经取代了他们的占位符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 18:19