delphi 语言作为一个 RAD (快速应用程序开发工具),提供了大量丰富的控件和函数库,帮助程序开发者可以快捷编写应用代码。
“怎么获取txt文本中的某个数值然后作为条件在delphi中查询数据库 ”,可以分解成两个需要解决的步骤:
1、怎么获取txt文本中的某个数值
获取 txt 文本中的值,可以使用多种手段,例如:
如果 txt 文本是以特定格式(INI 文件),则可以用 TIniFiles 来直接读取出指定的某个数值;
varfIni: TIniFile
aValue: string
begin
fIni := TIniFIle.Create('d:\test\test.ini')
aValue := fIni.ReadString('节名', '变量名', '默认值')
end
如果是从大段文本中获取指定的某个数值,可以使用字符串处理函数(如 Pos),比较复杂的可以使用 正则表达式 。
2、将某个数值作为条件在delphi中查询数据库
delphi 提供的数据库支持很强大,比较常用的是 TADOQuery 等,常见的示例代码如下:
Query1.closeQuery1.SQL.Clear
Query1.SQL.Add('select * from mytable where 字段名称=数值')
Query1.open
看看你是不是这个意思 ?procedure TF_demo.Button3Click(Sender: TObject) //模糊查询
begin
adotable1.close
datasource1.DataSet:=adoquery1
if trim(Edit1.Text)<>'' then
begin
adoquery1.close
adoquery1.sql.clear
adoquery1.SQL.Add('select * from people ')//添加条件
if trim(combobx1.text) = '按班级查询' then //防止输入items属性时,输入空格,可以加trim()命令,下面相同,需要可以自己加。
adoquery1.sql.add(' where 班级字段 like '''+'%'+Edit1.text+'%'+'''')
if combobx1.text = '按专业查询' then
adoquery1.sql.add(' where 专业字段 like '''+'%'+Edit1.text+'%'+'''')
if combobx1.text = '按姓名查询' then
adoquery1.sql.add(' where name like '''+'%'+Edit1.text+'%'+'''')
adoquery1.open
end
其它就是找到combobox1的items属性,双击
然后输入
按班级查询
按专业查询
按姓名查询
Locate 的函数的原型定义如下:
function Locate(const KeyFields: String const KeyValues:VariantOptions: TLocateOptions): Boolean其中,第3个参数定义如下:
TLocateOption = (loCaseInsensitive, loPartialKey)loCaseInsensitive 表示查找数据不分大小写;loPartialKey 表示以部分字符串来查寻数据。
缺省情况下,即第3个参数为 [] 时,此时要求查找要与目标字符完全匹配。
因此,假设 Name 字段中有 ForYouTou 的记录时:
locate('Name','You',[]) 是查找不到该条记录的。
可以尝试使用以下代码:
tbl1.Locate('Name','*You',[loCaseInsensitive, loPartialKey])欢迎分享,转载请注明来源:内存溢出
评论列表(0条)