下面的第一个MessageBox.Show()只是显示与const string SQL_GET_VENDOR_ITEMS完全相同的内容,这对我来说似乎很好,但是我得到了“解析查询时出错。[令牌行号,令牌行偏移量,错误中的令牌,]”的错误信息。
有没有一种方法可以在参数添加后窥视SQL的内容;它应该是这样的:"SELECT ItemID, PackSize FROM VendorItems WHERE VendorID = 'TEST' AND VendorItemID ='852963'"。
这是相关的代码:
有没有一种方法可以在参数添加后窥视SQL的内容;它应该是这样的:"SELECT ItemID, PackSize FROM VendorItems WHERE VendorID = 'TEST' AND VendorItemID ='852963'"。
这是相关的代码:
const string SQL_GET_VENDOR_ITEMS = "SELECT ItemID, PackSize " +
"FROM VendorItems " +
"WHERE VendorID = @VendorID AND VendorItemID = @VendorItemID";
string retVal = string.Empty;
checkConnection();
SqlCeCommand vendorCMD = objCon.CreateCommand();
try
{
vendorCMD.CommandText = SQL_GET_VENDOR_ITEMS;
vendorCMD.Parameters.Add("@VendorID", SqlDbType.NVarChar, 10).Value = VendorID;
vendorCMD.Parameters.Add("@VendorItemID", SqlDbType.NVarChar, 19).Value = VendorItemID;
MessageBox.Show(string.Format("Made it up to vendorCMD.ExecuteReader() with sql {0}", vendorCMD.CommandText));
. . .
vendorReader.Close();
}
catch (SqlCeException sqlceex)
{
MessageBox.Show(string.Format("SqlCeException in GetValsForVendorAndItem == {0}", sqlceex.Message));//TODO: Remove
}
finally
{
vendorCMD.Dispose();
}
return retVal;
. . .
VendorID
或VendorItemID
是否为null
的可能性有多大? - Marc Gravell