Web Service 创建数据查询

<一>创建Web Service
1 建立Asp.Net Web Service
2 把asmx文件修改名称为DataBaseWebService.asmx
3 文件Service.cs写代码
   
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;



[WebService(Namespace 
= "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
public class DataBaseWebService : System.Web.Services.WebService
{
    
public DataBaseWebService()
    
{

        
//Uncomment the following line if using designed components 
        
//InitializeComponent(); 
    }


    [WebMethod]
    
public string HelloWorld() {
        
return "Hello World";
    }


    [WebMethod]
    
public DataSet SQLDB(string Query)
    
{
        
try
        
{
            
//User ID=sa;password=suzsoftsz;Data Source=YAMAHA;database=ISC_Server

            
//SqlConnection CS = new SqlConnection("server=(local)\\JIAHAITIAN;database=CPC_BusinessDB;Trusted_Connection=yes");
            SqlConnection CS = new SqlConnection("User ID=sa;password=19791225;Data Source=JIAHAITIAN;database=CPC_BusinessDB");


            SqlDataAdapter myCommand 
= new SqlDataAdapter(Query, CS);
            DataSet myDataSet 
= new DataSet();
            myCommand.Fill(myDataSet, 
"Results");
            
return myDataSet;
        }

        
catch (Exception ex)
        
{
            
return DataError(ex);
        }

    }


    [WebMethod]
    
public DataSet AccessDB(string Query)
    
{
        
try
        
{
            
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
                   
+ this.Server.MapPath("AccessWebServices.mdb");
            OleDbConnection myAccessConn 
= new OleDbConnection(strAccessConn);
            OleDbCommand myAccessCommand 
= new OleDbCommand(Query, myAccessConn);
            OleDbDataAdapter myDataAdapter 
= new OleDbDataAdapter(myAccessCommand);
            myAccessConn.Open();
            DataSet myDataSet 
= new DataSet();
            myDataAdapter.Fill(myDataSet, 
"Results");
            myAccessConn.Close();
            
return myDataSet;
        }

        
catch (Exception ex)
        
{
            
return DataError(ex);
        }

    }



    
public DataSet DataError(Exception ex)
    
{
        DataSet errDS 
= new DataSet("Errors");
        DataTable errTable 
= errDS.Tables.Add("Error");
        errTable.Columns.Add(
"Message");
        errTable.Rows.Add(
new Object[] { ex.Message });
        
return errDS;
    }


}



这里 SQLDB是对SQL进行调用,AccessDB是对Access进行调用,DataError是对错误进行处理
4 编译项目

<二>创建Win Application
1 创建Win Application ,名称WebServicesClient
2 增加Web 引用
    http://localhost:5933/DataBaseWebService/DataBaseWebService.asmx
3 创建Sql 和Access查询代码
  private void menuItem1_Click(object sender,System.EventArgs e)
  
{
    WebServicesClient.localhost.DataBaseWebService Database 
= new WebServicesClient.localhost.DataBaseWebService();
    DataSet ds 
= Database.SQLDB("select * from Products");
    dataGrid1.DataSource 
= ds.Tables[0];
  }

  
private void menuItem2_Click(object sender,System.EventArgs e)
  
{
    WebServicesClient.localhost.DataBaseWebService Database 
= new WebServicesClient.localhost.DataBaseWebService();
    DataSet ds 
= Database.AccessDB("select * from AcessTableTest");
    dataGrid1.DataSource 
= ds.Tables[0];
  }


完成

posted @ 2006-12-29 17:21  jhtchina  阅读(486)  评论(0)    收藏  举报