Visual studio 2010 sharepoint2010:沙盒web部件中的数据库连接
我想在沙盒web部件中建立数据库连接。当我使用查询时,下面的代码可以正常工作。有人能告诉我如何使用存储过程并向其传递参数吗?还有,如何使用web服务Visual studio 2010 sharepoint2010:沙盒web部件中的数据库连接,visual-studio-2010,sharepoint-2010,database-connection,Visual Studio 2010,Sharepoint 2010,Database Connection,我想在沙盒web部件中建立数据库连接。当我使用查询时,下面的代码可以正常工作。有人能告诉我如何使用存储过程并向其传递参数吗?还有,如何使用web服务 public static DataSet ChkConn(string strval) { public static DataSet ds; public static string assemblyName = "FullTrustProxy, Version=1.0.0.0,
public static DataSet ChkConn(string strval)
{
public static DataSet ds;
public static string assemblyName = "FullTrustProxy, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=75e25e9dc5ff21aa";
public static string typeName = "DBFullTrust.FullTrustProxy.SQLFullTrustProxy";
try
{
SQLProxyArgs proxyArgs = new SQLProxyArgs();
proxyArgs.ConnectionString = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Cat;Data Source=ABC";
if (strval == "B")
proxyArgs.Command = "select * from table1";
else
proxyArgs.Command = "select * from table2";
proxyArgs.returnType = typeof(DataSet);
return ds = (DataSet)SPUtility.ExecuteRegisteredProxyOperation(assemblyName, typeName, proxyArgs);
}
catch
{
}
return ds;
}
您需要更改完全信任代理操作 像这样的东西来进行辩论
使用(SqlCommand cmd=newsqlcommand(args.Command,conn)){
command.CommandType=CommandType.storedProcess;
foreach(参数中的KeyValuePair参数){
cmd.Parameters.AddWithValue(para.Key,para.Value);
}
返回cmd.ExecuteNonQuery();
}
并使用此命令调用代理:
SqlDataReaderProxyArgs args=newsqldatareaderproxyargs();
args.ConnectionString=“数据源=;初始目录=;用户ID=;密码=;
args.Command=“从系统索引中选择*”;
args.CommandType=CommandType.Text;
Add(newkeyValuePair(){Key=“Id”,Value=“1”});
string assemblyName=typeof(SqlDataReaderProxyOperation).Assembly.FullName;
字符串typeName=typeof(SqlDataReaderProxyOperation).FullName;
对象结果=SPUtility.ExecuteRegisteredProxyOperation(assemblyName、typeName、args);
using (SqlCommand cmd = new SqlCommand(args.Command, conn)) {
command.CommandType = CommandType.StoredProcedure;
foreach (KeyValuePair<string, object> para in args.Parameters) {
cmd.Parameters.AddWithValue(para.Key, para.Value);
}
return cmd.ExecuteNonQuery();
}
SqlDataReaderProxyArgs args = new SqlDataReaderProxyArgs();
args.ConnectionString = "Data Source=;Initial Catalog=;User ID=;Password=";
args.Command = "select * from sys.indexes";
args.CommandType = CommandType.Text;
args.Parameters.Add(new KeyValuePair<string, object>() { Key = "Id", Value = "1"});
string assemblyName = typeof(SqlDataReaderProxyOperation).Assembly.FullName;
string typeName = typeof(SqlDataReaderProxyOperation).FullName;
object result = SPUtility.ExecuteRegisteredProxyOperation(assemblyName, typeName, args);