我想在application里使用一个系统sql server 中的stored procedure sp_password 去修改里面的一个用户的密码,条件和实现代码如下:
条件:
  database1连接数据库,使用的登陆帐户为aaa,密码为‘123’
  query1去执行sql server的stored  procedure,最后想把密码改为12345。实现代码:
  with  query1 do 
   begin
    databasename:=database1.databasename;
    close;
    unprepare;
    sql.clear;
    sql.text:='exec   sp_password  '''+ '123'+''''+', '''+'12345'+''''+'aaa'+'''';
   prepare;
   execsql;
  end;
  请问这段代码出现什么问题?最后的异常信息是:‘missing right quote' ,是软件异常,
如何改正??谢谢指点

解决方案 »

  1.   

    sql.text:='exec   sp_password  '+ quotedstr('123')+', '+quotedstr('12345')+','+quotedstr('aaa');
    你的错误是引号不对。
      

  2.   

    这位兄弟,真的好谢谢你,让我有点柳暗花明的感觉,不过,我在用showmessage这个函数来显示送往sql  server的字符串时,也是送了一样的信息过去的啊,不然你用showmessage来看看我的那句话,对了,怎么给你加分啊?我想再送点给你,呵呵
      

  3.   

    老兄你少了一个逗号啊。
      showmessage('EXEC sp_password ''123'',''12345'',''aaa''');