请教两个问题!一个是关于“invalid variant type conversion”的错误,一个是关于odbc数据源的! (50分)

  • 主题发起人 主题发起人 zh_2001
  • 开始时间 开始时间
Z

zh_2001

Unregistered / Unconfirmed
GUEST, unregistred user!
1、
query3.Close;
query3.SQL.clear;
query3.SQL.add('select zscjsl as szsl from sjszs where sjszs.zszsqc="深圳综合指数"');
query3.open;
cjssz:=query3.FieldByName('szsl').value;
编译时最后一行错误为:invalid variant type conversion,但我在前面
cjssz<>query3.FieldByName('szsl').value进行比较时却不出错;
其中cjssz是single类型的,zscjsl是dbf表中的一个字段,N类型的。
2、
我的程序使用odbc数据源连接到数据库,一个是dbf的,一个是sql的,每次运行是都要
输入user name和password,请问怎样才能不输入?或者在程序中设置,程序运行时不需要
别人输入!
 
你最好使用 .asinteger 或.asfloat 不要用.value
不要输入口令可以
加一个Database控件 在params中写user name=
password=
然后loginpromp设成false
 
请问datebase怎么用啊?刚接触delphi不久,还不熟啊!
 
放一个Database控件,相当于用Database连接数据库,程序都连接Database的别名
这样你更改数据库别名时,程序中的table都不用改,该Database就行了
aliasname选择你要连的,databasename是你在其一个别名,table,query等控件用的
 
还用不用odbc数据源?
 
可以用,aliasname选则就行了
 
可不可以直接连接fox的表或sql表?麻烦你能不能把各个属性解释清楚一下。
 
aliasname:你要连接的数据库的别名,也就是bde中的数据库名,对于fox就是一个目录。例如db
databasename:你在程序中起的别名。例如aa
params:连接的参数,你写user name='sa'
password=''
loginprompt:设成false,就是连接时不再提示
table控件的databasename属性选aa,就不要选db了
 
同意楼上的.
 
我没有用bde呀。还要设置bde吗?怎么说已经存在了一个alias?
在程序中可以使用多个定时器吗?
 
你是什么数据库?
bde没有配置马?
 
应该这样写,主要是因为你现在读出来的query3.FieldByName('szsl').value;的值是
空的
if not varisnull(query3.FieldByName('szsl').value) then
cjssz:=query3.FieldByName('szsl').value;
 
我要把fox数据库的数据保存到sql数据库中。
开始用odbc,没有配置bde
能不能使用两个定时器?
关于第一个问题,我改成了asfloat,但是cjssz怎么一直是0??
 
我建议加个database和session
如果只加database,每次打开sql server的表时都要输入登陆名和密码
加上session,设置好其他组件的session属性为刚才加的这个session。
只要登陆一次,以后打开表时就不要再登陆了
DM.Database.Connected:=false;
DM.database.Params.Values['User Name']:=edtLoginName.text;
DM.database.Params.Values['PASSWORD']:=edtPassword.text;
dm.Database.AliasName:=AliasName;
dm.Database.DatabaseName:=DatabaseName;
dm.database.open;
close;
showmessage(frmLogin.edtLoginName.text+'登陆成功');
 
配了odbc会自动注册bde的,名字相同的
=0可能是没有记录改成单引号
query3.SQL.add('select zscjsl as szsl from sjszs where sjszs.zszsqc=''深圳综合指数''');
 
改成单引号后还是的!怎么回事?但是另一段和这相同的代码却正常!
 
robertcool,为什么会是空的?明明有符合这个条件的记录!
delphi365,datebase中的sessionname和session中的sessionname各是什么?
 
多人接受答案了。
 
后退
顶部