Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > DataTableHelp > SQL处理 >
SQLFind

SQLFind为在内存表中查找,用筛选条件查找符合条件的行,如果找到的话,返回找到的行,否则返回Nothing。

语法:

SQLFind (Filter,Sort,Index)

参数说明

名称 说明
Filter 必填项,字符串类型,设置删除内存表中数据的筛选条件,使用表达式筛选。跟本地筛选使用相同的语法。
Sort 可选项,字符串类型,指定排序方式。默认为空字符串。
Index 可选项,整数类型,指定返回第几个符合条件的行,0表示第一行。默认值 为0,返回第一行。
fillSchema 可选项,逻辑类型,是否需要保存数据。

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
'删除指定条件的数据
Dim dr As RowData= tbl.DataTableHelp.SQLFind("EmployeeID='U000000004'","",0,True)
If dr IsNot Nothing Then '如果找到了对应行
    dr("在职")=True
Else '如果没有找到相应行
    dr=tbl.DataTableHelp.AddNew() '则新增一条数据
    dr("工号")="U800003"
    dr("在职")=True
End If
dr.Save()

'返回性别为男,按姓名排序的第三个人
dr=tbl.DataTableHelp.SQLFind("Gender='男'","FullName",2)
If dr IsNot Nothing Then
    Proj.MsgDebug.Add(dr("FullName"))
End If

C#
SmGrid tbl = Proj.CurrentSmGrid;
// 删除指定条件的数据
RowData dr = tbl.DataTableHelp.SQLFind("EmployeeID='U000000004'", "", 0, true);
if (dr != null)
{
    dr["在职"] = true;
}   
else
{
    dr = tbl.DataTableHelp.AddNew(); // 则新增一条数据
    dr["工号"] = "U800003";
    dr["在职"] = true;
}

dr.Save();

// 返回性别为男,按姓名排序的第三个人
dr = tbl.DataTableHelp.SQLFind("Gender='男'", "FullName", 2);
if (dr != null)
{
    Proj.MsgDebug.Add(dr("FullName"));
}