关于datasnap的一点傻傻的问题,谢谢各位大侠帮我一下
关于datasnap的一点傻傻的问题,谢谢各位大侠帮我一下
datasnap客户端怎么调用服务器端的 sql[ 只需要说一下delete 或 insert ;select 我会 就不用说了]
用代码解释,多谢啊
下面是服务器端的代码
procedure TServerMethods1.AddUser(const User, Password, Role, Email: String);
var
SQLQuery: TSQLQuery;
begin
try
SQLQuery := TSQLQuery.Create(nil);
SQLQuery.SQLConnection := SQLConnection1;
SQLQuery.CommandText := 'INSERT INTO [User] (Name, PasswordHASH, Role, Email) VALUES (:Name, :PasswordHASH, :Role, :Email)';
SQLQuery.ParamByName('Name').AsString := User;
SQLQuery.ParamByName('PasswordHASH').AsString := HashMD5(Password);
SQLQuery.ParamByName('Role').AsString := Role;
SQLQuery.ParamByName('Email').AsString := Email;
SQLConnection1.Open;
try
SQLQuery.ExecSQL;
finally
SQLConnection1.Close;
end;
except
on E: Exception do
begin
SQLConnection1.Close
end
end;
end;
---------------------------------
最好能给一个包括添加修改删除查询的datasnap完整例子 多谢 请发到 dlduan@sohu.com
[解决办法]
客户端使用SqlServerMethod或代理类,来调用服务器端的方法
http://www.cnblogs.com/gfkz/archive/2009/03/21/1418559.html
- Delphi(Pascal) code
SqlServerMethod.ServerMethodName := 'TServerMethods1.AddUser';SqlServerMethod.Params[0].AsString :='张三';SqlServerMethod.Params[1].AsString :='密码';SqlServerMethod.Params[2].AsString :='老大';SqlServerMethod.Params[3].AsString :='av@163.com';SqlServerMethod.ExecuteMethod;