app.config里的连接字符串为:
<connectionStrings>
        <add name="connectionString"
            connectionString="Data Source=.;Initial Catalog=WareHouse;User ID=sa;Password=000"
            providerName="System.Data.SqlClient" />      
    </connectionStrings>
sqlhelper.cs里的带参数查询代码以及取连接字符串代码为:
 public SqlDataReader ExecuteReader(string query, params SqlParameter[] parameters)
        {
            cnn = new SqlConnection(strConnectionString);
            SqlCommand cmd = new SqlCommand(query, cnn);
            if (query.StartsWith("SELECT") | query.StartsWith("select"))
            {
                cmd.CommandType = CommandType.Text;
            }
            else
            {
                cmd.CommandType = CommandType.StoredProcedure;
            }
            for (int i = 0; i <= parameters.Length - 1; i++)
            {
                cmd.Parameters.Add(parameters[i]);
            }
            SqlDataReader dr; 
            try
            {
                cnn.Open();
                dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception exp)
            {
                throw exp;
            }
            finally
            {
                if (cnn.State == ConnectionState.Open)
                {
                    cnn.Close();
                }
            }
            return dr;        
        }逻辑层的代码为:
public UserInfo GetByUserName(string userName)
        {
            UserInfo item = null;
            SqlHelper sqlHelper = new SqlHelper();
            SqlParameter[] prams ={ new SqlParameter("@userName", SqlDbType.VarChar) };
            prams[0].Value = userName;
            string sqlStr = "select [User].userName,[User].passWord,[User].realName,[User].departmentId,Department.Dname,[User].phoneNumber,[User].email,[User].flag from [User] right join Department on [User].departmentId=Department.id where User.userName=@userName";
            SqlDataReader rdr = sqlHelper.ExecuteReader(sqlStr, prams);
            if (rdr.Read())
            {
                item = new UserInfo(rdr.GetString(1), rdr.GetString(2), rdr.GetString(3), rdr.GetInt32(4), rdr.GetString(5), rdr.GetInt32(6), rdr.GetString(7), rdr.GetString(8));                
            }
            return item;
        }但是老是提示“ '.' 附近有语法错误。”