如何检查字符串是否在C#中返回的DataRow数组的列值中?

时间:2012-01-23 14:40:24

标签: c#

我知道这是非常基本的,但我似乎无法做对。我有这个数据表,我将从我的数据库填充处理过的信息。

在搜索是否已在Datatable中添加了EmpRequestID之后,我希望能够获取返回行的名为“RequestedEmp”的列的值,并检查是否已包含我的变量当前正在托管的首字母(它在循环中)。如果没有,请将变量中的首字母附加到行中的现有首字母中。

DataRow[] MyEmpReq_Row = MyEmpRequests_DataTable.Select("EmpRequestID='" + EmpRequestID + "'");
int SameReqID = MyEmpReq_Row.Length;

if (MyEmpReq_Row > 0) //REQ ID IN DT, MULTIPLE EMP 1 REQUEST
{
    //INSERT HERE 
}
else //ID NOT IN DT YET
{
    MyEmpRequests_DataTable.Rows.Add(EmpRequestID, ActionBy, Requested_Initials, DateSubmitted, RequestStatus);
}

我希望能够做到这样的事情

string RetrievedInitials = MyEmpReq_Row["RequestedEmp"].ToString();

if (RetrievedInitials LIKE '%" + Requested_Initials + "'") // but if statements doesnt have LIKE

或者然后知道列是否包含值。

MyEmpReq_Row.Select("RequestedEmp LIKE '%" + Requested_Initials + "'");

2 个答案:

答案 0 :(得分:1)

if (RetrievedInitials.Contains(Requested_Initials))

答案 1 :(得分:0)

看一下字符串类: http://msdn.microsoft.com/en-us/library/system.string.aspx

正如其他一些海报所提到的,Contains()方法可能有用。但是,您还应该查看EndsWith()(更符合您在LIKE查询中使用通配符)和StartsWith()。

示例:

if (RetrievedInitials.EndsWith(Requested_Initials))