public void MatchedDocumentsInFileCabinet(string MainFolder, string SubFolder, string FileName, string FilePath)
{
// Checking Main Folder is present in FileCabinet, if present retrieving MainFolderID if not Inserting MainFolderName
if (SelectedFileCabinetID == "")
{
SelectedFileCabinetID = "1";
}
int Mainfoldercount = 0;
DocSortResult getfolderdetails = objFolderManager.GetFolderDetails();
DataTable getFolderNames = new DataTable();
if (getfolderdetails.resultDS != null && getfolderdetails.resultDS.Tables[0].Rows.Count > 0)
{
// Following line is showing error
DataRow[] drResult = getfolderdetails.resultDS.Tables[0].Select("FileCabinet_ID = '" + SelectedFileCabinetID + "'" + "and" + " ParentFolderID = '" + "0" + "'" + "and" + " IsDelete = '" + "True" + "'");
if (drResult.Count() != 0)
{
getFolderNames = drResult.CopyToDataTable();
}
}
}
答案 0 :(得分:1)
不知道getfolderdetails.resultDS.Tables[0]
的结构很难知道哪一列,但是其中一列是整数,而您的Select(filter)
告诉所有字段都是字符串。
您的代码调试示例将显示.Select("FileCabinet_ID = '4' and ParentFolderID = '0' and IsDelete = 'True' ")
。错误消息说其中一个不是字符串。
我敢打赌IsDelete = 'True'
可能是布尔值(SQL Server中的位列)和FileCabinet_ID
或ParentFolderID
或它们都是整数(这会导致错误)。
设置一个断点并检查您要过滤的数据列的数据类型。