4

DataTable.Select()一致する値に先頭のスペースが含まれている可能性があり、正しい量のレコードを返すために正しくトリミングする必要があるという問題があります。

現在、不要な文字が原因でマッチングが失敗するため、私のコードはより少ないレコードを返します。

以下の SQL の例が示すように、DataTable.Select をどのように処理しますか?

SELECT * FROM Table WHERE LTRIM(FullName) = ' Joe Smith'

私は試した

dataTable.Select("LTRIM(FullName) = ' Joe Smith'");

しかし、それは失敗しました。

何か案は?

4

3 に答える 3

3

これを試してください:

string searchTerm = " Joe Smith";
string expression = String.Format("TRIM(FullName) = '{0}'", searchTerm.Trim());
dataTable.Select(expression);
于 2013-10-10T07:39:05.487 に答える
0
DataTable excelData = objGetExcelData.DataExcel(objEntities.StrFilePath, ConfigSettings.GetAppConfigValue("select * from sheet1"));

StringBuilder strInput = new StringBuilder();
DataView view = new DataView(excelData); 
DataTable distinctValues = view.ToTable(true, "GROUP_NAME"); 
if (distinctValues.Rows.Count > 0)
{
      for (int i = 0; i < distinctValues.Rows.Count; i++)
      {
           strGroupName = Convert.ToString(distinctValues.Rows[i]["GROUP_NAME"]);
           foreach (DataRow item in excelData.Select("GROUP_NAME = '" + strGroupName + "'"))
           {
               strInput.Append(Convert.ToString(item[0]));
               strInput.Append("~");
               strInput.Append(Convert.ToString(item[1]));
               strInput.Append(",");
               strDasID = Convert.ToString(item[0]);
            }
      }
}
于 2015-06-23T13:34:13.833 に答える