首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问一个有关问题,你们有遇过吗

2012-03-07 
请教一个问题,你们有遇过吗?我在用BDE的query时,为什么有时query的属性可以用,而有时又不能用呢?如下面代

请教一个问题,你们有遇过吗?
我在用BDE的query时,为什么有时query的属性可以用,而有时又不能用呢?如下面代码:
         
     edit1.Text:=query1.ParamByName( '员工编号 ').AsString;
在我的程序中,这写是错的,我写edit1.Text:=query1.时,后面的ParamByName根本不会提示;但如果另取一行直接写query1.时后面的ParamByName会提示,为什么会这样呢?然道query1.ParamByName不能直接赋给edit1.text,还有用messagebox显示时也不会提示ParamByName

另外query1.ParamByName( '员工编号 ').AsString和query1.ParamByName( '员工编号 ').value有什么区别,到底用哪种.

[解决办法]
这个情况应该是类型不兼容的,不过应该没问题的!
query1.ParamByName( '员工编号 ').AsString和query1.ParamByName( '员工编号 ').value
都可以用!
[解决办法]
你的输入参数有没有存在啊?
是不是想要取 query1.FieldByName( '员工编号 ').AsString
[解决办法]
ParamByName取的是SQL里的参数,例如:
with query1 do
begin
sql.add( 'select * from users where Name = :name ');
ParamByName( 'name ').AsString := 'Jack ';
Open;
end;

Edit1.Text := query1.ParamByName( 'name ').AsString //就是取出来的输入参数的值Jack
[解决办法]
在我的程序中,这写是错的,我写edit1.Text:=query1.时,后面的ParamByName根本不会提示;但如果另取一行直接写query1.时后面的ParamByName会提示,为什么会这样呢?然道query1.ParamByName不能直接赋给edit1.text,还有用messagebox显示时也不会提示ParamByName
==================================================================
這是因為edit.text是字符形的,顯然query1.ParamByName不會返回字符型,因此不會顯示出來,delphi會自動過慮掉不是字符型的屬性...

當你另起一行時,delphi會顯示query1.的所有的東西...

热点排行