。。
[WebMethod]
public DataSet ViewDB(string name,string pwd)
{
if(name=="shilei" && pwd=="shileiisadog")
{
connStr="Provider=SQLOLEDB;uid=sa;pwd=;server=ying;database=shili";
conn=new OleDbConnection(connStr);
sqls="select 身份证号码,员工姓名,员工性别,家庭住址 from 临时人员 order by 身份证号码";
adapter=new OleDbDataAdapter();
adapter.SelectCommand=new OleDbCommand(sqls,conn);
dataSet=new DataSet();
adapter.Fill(dataSet,"临时人员");
conn.Close();
return dataSet;                                    
}
else
return ?(该写什么?)
}

我的本意是想让ViewDB方法接收用户的用户名和密码参数,验证通过后才让读取数据库的内容,可是
问题是如果没有通过验证,return 后该怎么写,也就是返回一个空的DataSet对象,问题是这样返回给
客户端是出问题的,我该怎么写?
客户端code:
........
ds=mydatabase.ViewDB("shilei","shileii");
DataGrid1.DataSource=ds.Tables["临时人员"].DefaultView;
DataGrid1.DataBind();

解决方案 »

  1.   

    check return dataset first:
    if (null==ds)
    datagrid1.datasource=null
    else
    DataGrid1.DataSource=ds.Tables["临时人员"].DefaultView;datagrid1.databind()
      

  2.   

    gyyshuai(师无横) ,你是对的,我还想问一下,如果我有服务器端有三个服务ViewDB,namecheck,
    pwdcheck,有没有可能先调用namecheck,pwdcheck这二个服务,验证通过了才能调过ViewDB服务,如果用户先调用ViewDB就给一个提示。也就是说,可以对ws的服务设顺序吗?
      

  3.   

    web servies是基于asp.net的,所以你可以在web services里使用session,你的问题只要在session里保存一个标志就行了
      

  4.   

    in ViewDB method,
    first call namecheck ,pwdcheck,
    if not pass check 
       throw exception
    else
       do you operation
      

  5.   

    return null然后客户端先判断DataSet是否为NULL