步
步惊云
Unregistered / Unconfirmed
GUEST, unregistred user!
CREATE USER语句中,使用adoquery.Parameters.ParamByName()给字段赋值,出现ORA-01036 非法的变量名/编号(50分)<br />请各位帮忙,我要在oracle中创建用户,
adoquery.sql.close;
adoquery.sql.clear;
adoquery.SQL.Add('CREATE USER :username identified by assword');
adoquery.Parameters.ParamByName('username').Value := Trim(AddUserName.Text);
adoquery.Parameters.ParamByName('password').Value := Trim(AddUserPassword.Text);
adoquery.prepared := true;
结果Oracle报错,ORA-01036 非法的变量名/编号,意思好像是这两个值没有被赋,我如果
改成adoquery.SQL.Add('CREATE USER '+Trim(AddUserName.Text)+' identified by '+Trim(AddUserPassword.Text));
就可以了.
我想可能是因为CREATE USER中用户名和口令不用加单引号,而用Parameters.ParamByName
的方法赋值会自动给所赋的值加上单引号的原因.但只是猜测,有谁碰到过类似的问题?
adoquery.sql.close;
adoquery.sql.clear;
adoquery.SQL.Add('CREATE USER :username identified by assword');
adoquery.Parameters.ParamByName('username').Value := Trim(AddUserName.Text);
adoquery.Parameters.ParamByName('password').Value := Trim(AddUserPassword.Text);
adoquery.prepared := true;
结果Oracle报错,ORA-01036 非法的变量名/编号,意思好像是这两个值没有被赋,我如果
改成adoquery.SQL.Add('CREATE USER '+Trim(AddUserName.Text)+' identified by '+Trim(AddUserPassword.Text));
就可以了.
我想可能是因为CREATE USER中用户名和口令不用加单引号,而用Parameters.ParamByName
的方法赋值会自动给所赋的值加上单引号的原因.但只是猜测,有谁碰到过类似的问题?