我的存储过程语句出错了,请帮忙修改,谢谢.(0分)

  • 主题发起人 主题发起人 topdelphi
  • 开始时间 开始时间
T

topdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
请大家帮忙修改一下下面的存储过程,我想用存储过程执行插入操作,语句如下,
create procedure insertusers
@id char(10), //这三个变量是和我数据库的三个字段和字段类型相同的.
@name char(30),
@pwd char(10)
as
set @id = user_ids
@name =user_names //分析器说这附近有错误啊,请帮忙修改一下,或者我怎么地方出错了.
@pwd= user_pwd
insert users(@id,@name,@pwd) values(@id,@name,@pwd)
 
你這個存儲過程當然不能通過了。

create procedure insertusers
@id char(10),
@name char(30),
@pwd char(10)
as
set @id = user_ids -- 這里是什么意思啊﹐這些參數的值不是傳入的嗎﹖
@name =user_names
@pwd= user_pwd
-- 不能這樣賦值的
-- 你可以用 select @id = 'xxx' 或者 set @id = 'xxx'來對變量給值
-- 同是對多個變量賦值要用 ﹐ 號分開
insert users(@id,@name,@pwd) values(@id,@name,@pwd)
-- 字段名可以用變量嗎﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖﹖
 
set @id = user_ids
set @name =user_names
set @pwd= user_pwd
 
对不起,我对存储过程有点不熟悉,请问具体的是如何修改啊.谢谢.
 
create procedure insertusers
@id char(10), //这三个变量是和我数据库的三个字段和字段类型相同的.
@name char(30),
@pwd char(10)
as
insert users(user_ids,user_names,user_pwd) values(@id,@name,@pwd)
 
真的好感谢各位的回答,但是我在DELPHI里调用还是有点模糊,例如我的窗体有几个文本框
,我使用了ADOStoredProc1来调用这个过程,但是我不明白,怎样把这几个文本的记录保存
回数据库里,具体是如何在DELPHI里使用这个过程啊.谢谢大家
 
先設置好性:
parameters.parambyname('@id').value:=strtoint(edit1.text);
.....
preapred;
try
execsql;
except
on E:exception do
begin
showmessage(e.message);
exit;
end;
end;
 
后退
顶部