高手指点 windform中 DATAGRID 调用 webservice 返回的 dataset的方法试验过  从 webservice中 返回的 字符串 好用 但 通过 webservice 查询数据库 后 所返回的 dataset 不好用
在 windform中 DATAGRID  运行的时候 没有任何 数据 
高手指点一下    或者   应该 让 webservice 返回 什么 windform中的 datagrid 才能使用?
高手给写一个小例子  最好 是  服务器 和 客户段都有的   让我理解理解  谢谢了 
我现在写的服务器段是 : [WebMethod]
public DataSet qqq()
{ SqlConnection SQLjl; SQLjl=new SqlConnection("Data Source=.;Initial Catalog=Northwind;User ID=sa;");
string cr="select * from orders";
SqlCommand f=new SqlCommand(cr,SQLjl);
SqlDataAdapter SelectAdapter=new SqlDataAdapter();//定义一个数据适配器 
SelectAdapter.SelectCommand=f;//定义数据适配器的操作指令 
DataSet MyDataSet=new DataSet();//定义一个数据集 
SQLjl.Open();;//打开数据库连接 
SelectAdapter.SelectCommand.ExecuteNonQuery();//执行数据库查询指令 
SQLjl.Close();//关闭数据库 
SelectAdapter.Fill(MyDataSet);//填充数据集 
return MyDataSet;  }
客户段是: private void Form1_Load(object sender, System.EventArgs e)
{ DataSet f=new DataSet();
WindowsApplication2.localhost2.Service1 fs=new WindowsApplication2.localhost2.Service1();

this.dataGrid1.DataSource=fs.qqq();
}运行后没结果 
高手 指点 一下 我刚刚学这个

解决方案 »

  1.   

    看看这个例子 ;
    this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
                this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
                this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
                this.dataGrid1 = new System.Windows.Forms.DataGrid();
                ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
                this.SuspendLayout();
                // 
                // sqlSelectCommand1
                // 
                this.sqlSelectCommand1.CommandText = "SELECT     订单.*, 订单明细.*\r\nFROM         订单 INNER JOIN\r\n                      订单明细 O" +
                    "N 订单.[订单 ID] = 订单明细.[订单 ID]";
                this.sqlSelectCommand1.Connection = this.sqlConnection1;
                // 
                // sqlDataAdapter1
                // 
                this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
                this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
                new System.Data.Common.DataTableMapping("Table", "订单", new System.Data.Common.DataColumnMapping[] {
                            new System.Data.Common.DataColumnMapping("订单 ID", "订单 ID"),
                            new System.Data.Common.DataColumnMapping("员工 ID", "员工 ID"),
                            new System.Data.Common.DataColumnMapping("客户 ID", "客户 ID"),
                            new System.Data.Common.DataColumnMapping("订单日期", "订单日期"),
                            new System.Data.Common.DataColumnMapping("发货日期", "发货日期"),
                            new System.Data.Common.DataColumnMapping("运货商 ID", "运货商 ID"),
                            new System.Data.Common.DataColumnMapping("发货名称", "发货名称"),
                            new System.Data.Common.DataColumnMapping("发货地址", "发货地址"),
                            new System.Data.Common.DataColumnMapping("发货城市", "发货城市"),
                            new System.Data.Common.DataColumnMapping("发货省/市/自治区", "发货省/市/自治区"),
                            new System.Data.Common.DataColumnMapping("发货邮政编码", "发货邮政编码"),
                            new System.Data.Common.DataColumnMapping("发货国家/地区", "发货国家/地区"),
                            new System.Data.Common.DataColumnMapping("运费", "运费"),
                            new System.Data.Common.DataColumnMapping("税款", "税款"),
                            new System.Data.Common.DataColumnMapping("付款类型", "付款类型"),
                            new System.Data.Common.DataColumnMapping("实际付款日期", "实际付款日期"),
                            new System.Data.Common.DataColumnMapping("备注", "备注"),
                            new System.Data.Common.DataColumnMapping("税率", "税率"),
                            new System.Data.Common.DataColumnMapping("纳税状态", "纳税状态"),
                            new System.Data.Common.DataColumnMapping("状态 ID", "状态 ID"),
                            new System.Data.Common.DataColumnMapping("upsize_ts", "upsize_ts"),
                            new System.Data.Common.DataColumnMapping("ID", "ID"),
                            new System.Data.Common.DataColumnMapping("订单 ID1", "订单 ID1"),
                            new System.Data.Common.DataColumnMapping("产品 ID", "产品 ID"),
                            new System.Data.Common.DataColumnMapping("数量", "数量"),
                            new System.Data.Common.DataColumnMapping("单价", "单价"),
                            new System.Data.Common.DataColumnMapping("折扣", "折扣"),
                            new System.Data.Common.DataColumnMapping("状态 ID1", "状态 ID1"),
                            new System.Data.Common.DataColumnMapping("分派的日期", "分派的日期"),
                            new System.Data.Common.DataColumnMapping("采购订单 ID", "采购订单 ID"),
                            new System.Data.Common.DataColumnMapping("库存 ID", "库存 ID"),
                            new System.Data.Common.DataColumnMapping("upsize_ts1", "upsize_ts1")})});
                // 
                // sqlConnection1
                // 
                this.sqlConnection1.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\NWind2007SQL.mdf;Integr" +
                    "ated Security=True;Connect Timeout=30;User Instance=True";
                this.sqlConnection1.FireInfoMessageEventOnUserErrors = false;
      

  2.   

    2楼的 我没看明白啊   能不 简单点写出来我做的 webservice 在  web页就能用 回到 windows 就用不了 高人 求求了 我要哭死了都
      

  3.   

    最简单的方法:你先在windowsforms里拖放一个SqlDataAdapter,然后利用向导生成代码,再把这段代码复制到你的webservice方法里,你再稍加改写就ok了。
      

  4.   

    SQLjl.Close();//关闭数据库   
    SelectAdapter.Fill(MyDataSet);//填充数据集   
    写反了吧,SQLjl.Close();//关闭数据库  应该放在最后。
      

  5.   

    SQLjl.Close();//关闭数据库   
    SelectAdapter.Fill(MyDataSet);//填充数据集   
    就是这里啦 反过来