using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;/// <summary>
/// staff (员工信息)
/// </summary>
public class staff
{
public staff()
{
//
// TODO: 在此处添加构造函数逻辑
//
}    /// <summary>
    /// 添加员工信息
    /// </summary>
    /// <param name="arrstaff">数组,用于保存输入员工的信息</param>
    /// <returns>返回员工的编号</returns>
    public int  Addstaff(ArrayList arrstaff)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("add_staff", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@s_name", SqlDbType.VarChar, 50).Value = arrstaff[0];
        cmd.Parameters.Add("@s_sex", SqlDbType.VarChar,10).Value = arrstaff[1];
        cmd.Parameters.Add("@s_nation", SqlDbType.VarChar, 20).Value = arrstaff[2];
        cmd.Parameters.Add("@s_birthday", SqlDbType.DateTime).Value = arrstaff[3];
        cmd.Parameters.Add("@s_collage", SqlDbType.VarChar, 100).Value = arrstaff[4];
        cmd.Parameters.Add("@s_edu", SqlDbType.VarChar, 50).Value = arrstaff[5];
        cmd.Parameters.Add("@s_phone", SqlDbType.VarChar, 50).Value = arrstaff[6];
        cmd.Parameters.Add("@s_mobile", SqlDbType.VarChar, 15).Value = arrstaff[7];
        cmd.Parameters.Add("@s_email", SqlDbType.VarChar, 50).Value = arrstaff[8];
        cmd.Parameters.Add("@s_department", SqlDbType.VarChar, 50).Value = arrstaff[9];
        cmd.Parameters.Add("@s_departmentid", SqlDbType.Int).Value = arrstaff[10];
        cmd.Parameters.Add("@s_position", SqlDbType.VarChar, 50).Value = arrstaff[11];
        cmd.Parameters.Add("@s_positionid", SqlDbType.Int).Value = arrstaff[12];
        cmd.Parameters.Add("@s_registerDate", SqlDbType.DateTime).Value = arrstaff[13];
        cmd.Parameters.Add("@s_password",SqlDbType.VarChar,16).Value=arrstaff[14];
        try
        {
            int staff_id = Convert.ToInt32(cmd.ExecuteScalar());
            return staff_id;
        }
        catch (Exception err)
        {
            throw new System.Exception(err.Message);
        }
        finally
        {
            con.Close();
        }
    }
    //更新员工信息
    public void UpdateStaff(ArrayList ArrUpdate)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("update_staff", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@s_name", SqlDbType.VarChar, 50).Value = ArrUpdate[0];
        cmd.Parameters.Add("@s_sex", SqlDbType.VarChar, 10).Value = ArrUpdate[1];
        cmd.Parameters.Add("@s_nation", SqlDbType.VarChar, 20).Value = ArrUpdate[2];
        cmd.Parameters.Add("@s_birthday", SqlDbType.DateTime).Value = ArrUpdate[3];
        cmd.Parameters.Add("@s_collage", SqlDbType.VarChar, 100).Value = ArrUpdate[4];
        cmd.Parameters.Add("@s_edu", SqlDbType.VarChar, 50).Value = ArrUpdate[5];
        cmd.Parameters.Add("@s_phone", SqlDbType.VarChar, 50).Value = ArrUpdate[6];
        cmd.Parameters.Add("@s_mobile", SqlDbType.VarChar, 15).Value = ArrUpdate[7];
        cmd.Parameters.Add("@s_email", SqlDbType.VarChar, 50).Value = ArrUpdate[8];
        cmd.Parameters.Add("@s_department", SqlDbType.VarChar, 50).Value = ArrUpdate[9];
        cmd.Parameters.Add("@s_departmentid", SqlDbType.Int).Value = ArrUpdate[10];
        cmd.Parameters.Add("@s_position", SqlDbType.VarChar, 50).Value = ArrUpdate[11];
        cmd.Parameters.Add("@s_positionid", SqlDbType.Int).Value = ArrUpdate[12];
        cmd.Parameters.Add("@s_status", SqlDbType.Int).Value = ArrUpdate[13];
        cmd.Parameters.Add("@r_name", SqlDbType.VarChar, 50).Value = ArrUpdate[14];
        cmd.Parameters.Add("@s_id", SqlDbType.Int).Value = ArrUpdate[15];
        try
        {
            cmd.ExecuteNonQuery();
        }
        catch (Exception err)
        {
            throw new System.Exception(err.Message);
        }
        finally
        {
            con.Close();
        }
    }
    //
    /// <summary>
    /// 员工登录
    /// </summary>
    /// <param name="uname">用户名</param>
    /// <param name="password">密码</param>
    /// <returns>sqldataread对象</returns>
    public SqlDataReader login(int uname,string password)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@错误提示出现的地方!!@@@@@@@@@@@@@@@@2)
        con.Open();
        SqlCommand cmd = new SqlCommand("login_staff", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@s_id", SqlDbType.Int).Value = uname;
        cmd.Parameters.Add("@s_password", SqlDbType.VarChar, 16).Value = password;
        SqlDataReader dr = cmd.ExecuteReader();
        return dr;
    }    //查询员工的所有信息
    public DataView sel_staff()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter("sel_staff", con);
        sda.SelectCommand.CommandType = CommandType.StoredProcedure;
        DataSet ds = new DataSet();
        sda.Fill(ds, "staff");
        DataView dv = ds.Tables["staff"].DefaultView;
        return dv;
    }    //查询员工的详细信息
    public SqlDataReader sel_staffInfo(int s_id)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("sel_personInfo", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@s_id", SqlDbType.Int).Value = s_id;
        try
        {
            SqlDataReader dr = cmd.ExecuteReader();
            return dr;
        }
        catch (Exception err)
        {
            throw new System.Exception(err.Message);
        }
    }    //
    /// <summary>
    /// 删除用户信息
    /// </summary>
    /// <param name="s_id">员工编号</param>
    public void del_StaffAllInfo(string s_id)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["office"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("del_staff", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@s_id", SqlDbType.Int).Value = s_id;
        try
        {
            cmd.ExecuteNonQuery();
        }
        catch (Exception err)
        {
            throw new System.Exception(err.Message);
        }
    }    
   

解决方案 »

  1.   

    基于上确定是  office 对应的连接字符串错误
      

  2.   

    检查Web.config文件中数据库连接字符串写法的正确性与否或是你贴出你Web.config文件主要千万不要将
    ConnectionStrings 和AppSettings混淆了
      

  3.   

    我把web.config贴上来 你看看是哪不对啊
    <?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration>
    <appSettings/>
    <connectionStrings>
    <add name="D:\WEBSITE1\DATE\OAOFFICE.MDFConnectionString" connectionString="Data Source=H2-HLJ\SQLEXPRESS;Initial Catalog=D:\WEBSITE1\DATE\OAOFFICE.MDF;User ID=sa;Password=123456" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <system.web>
    <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
    <compilation debug="true"/>
    <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->
    <authentication mode="Windows"/>
    <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
    </system.web>
    </configuration>