如何将String变量赋给TTable变量中字段呢?
如
我用HYDataSource.DataSet.FieldByName('HYID').AsString := '003234';
可运行时提示不是dsEdit或dsInsert状态。请问不能通过DBGird, 如何将字符串加入数据库中呢?
问题点数:50、回复次数:10Top
1 楼HappyDelphiGirl(BOSS)回复于 2003-01-05 18:02:54 得分 0
还有: 请问一下如何在TTable数据集控件联结的数据库中如何实现模糊查找呢?
如: ‘100012000’, 请问用何代码能够找出第三个和第四个字符为‘03’的记录呢?Top
2 楼shxhark(泉)回复于 2003-01-05 18:38:50 得分 10
这是一个初级问题。
系统已经提示很明显了:你没有在dsEdit或dsInsert状态!那么请你在赋值前用
HYDataSource.DataSet.append;
或HYDataSource.DataSet.Edit;
处理便可。
第二个问题关于模糊查询,可以用“LIKE”关键字,一般通配符常用的有“%”或“_”,你的需求是用后面的。
多看些书或电子资料吧!Top
3 楼IUPRG(给我点一首周截棍的“双杰伦”)回复于 2003-01-05 18:41:06 得分 15
1.加上 HYDataSource.DataSet.edit
...
最后 HYDataSource.DataSet.post
2.请问一下如何在TTable数据集控件联结的数据库中如何实现模糊查找呢?
答: sql语句里面用like ,后面加通配符 '*' 或'%'
如:select * from tblname where name like 'wang%'
3.select * from tblname where substring(field1,3,2)='03'Top
4 楼HappyDelphiGirl(BOSS)回复于 2003-01-05 19:32:26 得分 0
第一个问题我已解决了:
用: HYDataSource.DataSet.Insert;
HYDataSource.DataSet['HYID'] := '100001';
HYDataSource.DataSet.Post;
而第二个问题是不用SQL语句, 只用TTable, 如何实现?Top
5 楼westfly(左眼)回复于 2003-01-05 20:37:16 得分 10
MyTable.Filter := 'substring(HYID, 3, 2) = #39'03'#39;Top
6 楼TOMWLD(仰首再笑天)回复于 2003-01-05 20:43:43 得分 0
第二个问题:用filter属性,不过只要包含03的都会显示,不知有没有单个的通配符
HYDataSource.DataSet.Filter:='Name like '+#39+'%03%'
HYDataSource.DataSet.Filtered:=True;Top
7 楼TOMWLD(仰首再笑天)回复于 2003-01-05 20:44:41 得分 15
上面的错了
HYDataSource.DataSet.Filter:='Name like '+#39+'%03%'+#39Top
8 楼HappyDelphiGirl(BOSS)回复于 2003-01-06 13:12:57 得分 0
谢谢大家了, 我已经解决了, 还有一种办法, 那就是
procedure TMainForm.HYTableFilterRecord (Sender: TObject;
Accept: Boolean);
var
FieldVal: String;
begin
FieldVal := HYDataSource.DataSet['HYID'];
Accept := (FieldVal[3] = '0') and (FieldVal[4] = '3');
end;Top
9 楼HappyDelphiGirl(BOSS)回复于 2003-01-06 13:13:29 得分 0
请问我该怎么结贴呢?Top
10 楼fjclulu()回复于 2003-05-21 10:32:21 得分 0
HYDataSource.DataSet.edit
..
HYDataSource.DataSet.pointer
也可以吧
Top




