| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 500 人关注过本帖
标题:[求助]关于webservice的异步调用的问题,诚心请教各位
收藏  订阅  推荐  打印 
tea
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2006-3-15
[求助]关于webservice的异步调用的问题,诚心请教各位

目前在学习webservice中遇到一个问题始终无法解决,请高手指点

webservice部分代码,给调用方返回一个DataSet
[WebMethod]
public DataSet getDate(string str)
{
string constr = "server=.;uid=sa;pwd=;database=pubs";
string sql = "select * from authors where au_lname like '%"+str+"%'";
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = sql;
DataSet ds = new DataSet();
SqlDataAdapter ada = new SqlDataAdapter(cmd);
ada.Fill(ds,"info");
return ds;
}
}

winform部分,在dataGrid中显示查询返回的数值

localhost.myService ws = new WinApp.localhost.myService(); //注册webService

private void selectbtn_Click(object sender, System.EventArgs e)
{
this.selectbtn.Enabled = false;
string str = this.selecttxt.Text.Trim();
IAsyncResult ar = ws.BegingetDate(str,new AsyncCallback(myCallback),ws);
}

public void myCallback(IAsyncResult ar)
{
localhost.myService iws = (localhost.myService)ar.AsyncState;
DataSet ds = ws.EndgetDate(ar);
this.mydataGrid.DataSource = ds.Tables["info"];
this.selectbtn.Enabled = true;
}

整个过程可以执行,问题出现在
this.mydataGrid.DataSource = ds.Tables["info"];
一旦给dataGrid的DataSource赋值程序就死掉了
同步调用时无问题,使用返回其他值的异步调用也无问题
就是在dataGrid使用异步调用时无法显示数据

搜索更多相关主题的帖子: webservice  异步  诚心  
2006-3-15 18:15
xianzhenfly
Rank: 1
等级:新手上路
帖子:35
积分:450
注册:2006-10-20

顶。我现在也在学习webservice
2007-10-23 16:16
师妃暄
Rank: 12Rank: 12Rank: 12
等级:版主
威望:26
帖子:756
积分:8302
注册:2006-3-1

DataSet ds = ws.EndgetDate(ar);

这个方法调错了吧

有实力才会有魅力 实力来自坚持不懈的努力
2007-10-23 16:28
没有注册
Rank: 1
等级:新手上路
帖子:34
积分:442
注册:2007-8-16

扯到界面的

需要invoke

2007-10-23 17:30
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.103318 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved