我正在编写读取xml文件来更新数据库.我得到大约500个xml文件,我想尽快处理它们.
所有数据库操作都使用存储过程完成.
每个xml文件都有大约35种不同的存储过程.
最初我写过这样的代码
var cmd = new SqlCommand("EXEC UpdateTeamStats("+teamId+","+points+")");
cmd.CommandType = CommandType.Text;
Run Code Online (Sandbox Code Playgroud)
但在经历了一些最佳实践后,我将其更改为
var cmd = new SqlCommand("UpdateTeamStats");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("teamId", 21);
cmd.Parameters.Add("points", 2);
Run Code Online (Sandbox Code Playgroud)
因为从程序中调用了大量的存储过程,我意识到我必须进行较少数量的调用才能进行优化.
所以我想收集所有35个存储过程并一次执行它们.
存储过程因参数不同而不同,我不知道在上面的参数更改后收集和执行它们的方法.
我正在考虑调用一个巨大的存储过程并在该存储过程中调用另外35个,但我不擅长SQL,这将导致不必要的复杂性.
是否可以在C#中完全执行此操作?
或者是否有其他更好的方法来排队存储过程并快速运行它们
在我的delphi程序中,我与web服务进行通信.
在WSDL导入中,我创建了以下函数 -
function call(const sessionId: WideString; const resourcePath: WideString;
const args: Variant): Variant; stdcall;
Run Code Online (Sandbox Code Playgroud)
现在当我在我的代码中调用它时,我想看看返回的值是什么
var
p:WideString;
v:variant;
VarArray:variant;
begin
//varArray := VarArrayCreate([0,50],varVariant);
v := (httprio1 as Mtest).call(a,'giftgit.gift', '28184');
//p := VarArrayget(V,[1] ) ;
p := vartostr(v[1]);
Run Code Online (Sandbox Code Playgroud)
我在最后一行得到了这个错误
无法将类型(数组变体)的变体转换为类型(字符串)
我试过varArray但同样的问题.我该怎么解决这个问题?
谢谢