我的代碼有問題。 我在Visual Studio 2010中使用了ASP.NET。十六進制值0x00,是一個無效的字符:用「」替換 0後仍然遇到問題「」
當我從數據庫檢索數據到Web服務中的數據表時,某些列給我一個空字符串數據。這導致了檢索和顯示XML的一些問題。我試圖把一個Replace ("","")
來代替\0\0\0
。這可以解決這個問題。但現在問題是,原始數據仍然顯示在XML中。原始數據是\0\0
之前的數據。替換前,XML字段爲<VNDPNO></VNDPNO>
,替換後變爲<VNDPNO />
。
我的問題是,如何隱藏原始數據。 當我打電話時,我不想要原始數據 它繼續在網頁瀏覽器<diffgr:before>
中顯示。
我的源代碼是:
public DataTable GetItmSupDtls(string companycode, string itemCode,
string itemMajor, string itemMinor)
{
DataTable dsItmSupDtls;
//DataSet dsItmSupDtls = new DataSet();
IDBManager dbManager = new DBManager(DataProvider.SqlServer);
dbManager.ConnectionString = _connString;
try
{
dbManager.Open();
dbManager.CreateParameters(4);
dbManager.AddParameters(0, "@COYCDE", (object)companycode);
dbManager.AddParameters(1, "@ITMCDE", (object)itemCode);
dbManager.AddParameters(2, "@ITMMAJ", (object)itemMajor);
dbManager.AddParameters(3, "@ITMMIN", (object)itemMinor);
dsItmSupDtls = dbManager.ExecuteDataSet(
CommandType.StoredProcedure,
Utilities.DatabaseName("DBPurchase") + ".dbo.ITMSUPINFO_STKBALENQUIRY"
).Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally
{
dbManager.Dispose();
}
DataTable result = dsItmSupDtls.Clone();
foreach (DataRow dtRow in dsItmSupDtls.Rows)
{
dtRow["VNDPNO"] =
dtRow["VNDPNO"].ToString().Replace("\0", ""); //"A"; //
result.ImportRow(dtRow);
}
return result;
}
請給我一些意見和建議。
非常感謝..
有幾件事我不太在意。首先,爲什麼'Replace(「」,「」)'意味着要做任何事情?一秒鐘,「 」變成「 」的問題是什麼? - 這些在語義上是等同的。 –
2010-11-30 11:38:33