我在webservice中这样写:
[WebMethod]
public DataSet Gettest(string sqlstr,SqlParameter[] para)
{
SqlDataAdapter oDataAdapter = new SqlDataAdapter(sqlstr, dbconn);
SqlCommandBuilder oCommandBuilder = new SqlCommandBuilder(oDataAdapter);
int i;
for(i=0;i<para.length;i++)
oDataAdapter.SelectCommand.Parameters.Add(para[i]);
DataSet ds=new DataSet();
oDataAdapter.Fill(ds,"123");
dbconn.Close();
return ds;
}
目的是动态传送sql语句及参数,但是webservice似乎不支持使用SqlParameter这样的复杂类型为参数。请问高手,有什么办法能够解决吗?
[WebMethod]
public DataSet Gettest(string sqlstr,SqlParameter[] para)
{
SqlDataAdapter oDataAdapter = new SqlDataAdapter(sqlstr, dbconn);
SqlCommandBuilder oCommandBuilder = new SqlCommandBuilder(oDataAdapter);
int i;
for(i=0;i<para.length;i++)
oDataAdapter.SelectCommand.Parameters.Add(para[i]);
DataSet ds=new DataSet();
oDataAdapter.Fill(ds,"123");
dbconn.Close();
return ds;
}
目的是动态传送sql语句及参数,但是webservice似乎不支持使用SqlParameter这样的复杂类型为参数。请问高手,有什么办法能够解决吗?
解决方案 »
- 一个数组:1,1,2,3,5,8,13,21...+m,求第30位数是多少?用递归实现;
- c#中enum的问题
- 如何使用Process相关信息取得进程的物理路径?
- 关于使用Office 2003中的界面元素的方法
- 如何在子窗体中将消息显示在父窗体的状态栏中?
- 初学WPF,tab页引用一个窗口的内容,该怎么写?
- 在C#程序里加入资源文件居然如此艰难,微软有没搞错?
- 急急急!!!怎么解决在进行io操作时,windows form窗口反应不快的问题??
- 询问C#学习资料
- 两台电脑vs引用同一个ActiveDLL时出现不同的属性与方法的奇怪的问题,高分回报
- 如何取得一个控件(如TextBox)在页面中的绝对位置 100分
- ADDIN插件问题:如何通过代码让当前project执行编译
非持久連接的就不能用MarshalByRefObject;只能是串行化.
跨平台,就是用中性的XML作客戶端與服務器端作交流,由此,則XML串行化的只能是對象中的數據成員,而不是對象的方法(當然方法也沒法串行化),客戶端對所串行化的對象一無所知,它所反串行化的也只能是一個數據結構型的對象.想象一下這個場景:一個WINDOWS下的WEBSERVICE傳一個VB或是其它的的對象給UNIX下的客戶端,UNIX下的客戶端能了解這個VB的對象嗎?它只能從VB對象的串行化中了解到其中的數據,對它的方法一無所知,所以反串行化的絕不會是原來的那個VB對象.
當然,你要強行做的話,也不是不行,無非就是將SqlParameter[] para實現串行化,再在客戶端給用SqlParameter[] para給反串行回來,但我覺得這樣做的話,并不符合WEBSERVICE的本意,方式并不是太好.