在IDAL类库的接口
using System;
using System.Data;
namespace stumanage.IDAL
{
/// <summary>
/// 接口层Iuserdata 的摘要说明。
/// </summary>
public interface Iuserdata
{
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
bool Exists(string user_name);
}
}
在DALFactory类库中有
using System;
using System.Reflection;
using System.Configuration;
using stumanage.IDAL;
namespace stumanage.DALFactory
{
public sealed class DataAccess
{
private static readonly string path = System.Configuration.ConfigurationSettings.AppSettings["DAL"];
/// <summary>
/// 创建对象或从缓存获取
/// </summary>
public static object CreateObject(string path,string CacheKey)
{
object objType = DataCache.GetCache(CacheKey);//从缓存读取
if (objType == null)
{
try
{
objType = Assembly.Load(path).CreateInstance(CacheKey);//反射创建
DataCache.SetCache(CacheKey, objType);// 写入缓存
}
catch
{}
}
return objType;
}
/// <summary>
/// 创建userdata数据层接口
/// </summary>
public static stumanage.IDAL.Iuserdata Createuserdata()
{
string CacheKey = path+".userdata";
object objType=CreateObject(path,CacheKey);
return (Iuserdata)objType;
}
}
在SQLServerDAL类库中有
using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using stumanage.IDAL;
namespace stumanage.SQLServerDAL
{
/// <summary>
/// 数据访问类userdata 。
/// </summary>
public class userdata:Iuserdata
{
public userdata()
{}
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string user_name)
{
int rowsAffected;
SqlParameter[] parameters = {
new SqlParameter("@user_name", SqlDbType.VarChar,20)
};
parameters[0].Value = user_name;
int result= DbHelperSQL.RunProcedure("UP_userdata_Exists",parameters,out rowsAffected);
if(result==1)
{
return true;
}
else
{
return false;
}
}
}
}
在BLL类库中有
using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using stumanage.IDAL;
using stumanage.DALFactory;
namespace stumanage.BLL
{
/// <summary>
/// 业务逻辑类userdata 的摘要说明。
/// </summary>
public class userdata
{
private static readonly Iuserdata dal = DataAccess.Createuserdata();
public userdata()
{}
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string user_name)
{
return dal.Exists(user_name);
}
}
}
我在登陆页面 login.aspx.cs中有如下代码,编译通过,运行时登陆后报错
stumanage.BLL.userdata bllud = new stumanage.BLL.userdata();
if( bllud.Exists(user))
{
Response.Write("<script language='javascript'>alert('账号不存在');</script>");
return;
}
报的错误
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 32: public bool Exists(string user_name)
行 33: {
行 34: return dal.Exists(user_name);
行 35: }
行 36:
我已在webconfig定义了<appSettings>
<add key="ConnectionString" value="server=127.0.0.1;initial catalog=king;uid=sa;pwd=fscw" />
<add key="DAL" value="stumanage.SQLServerDAL" />
</appSettings>
using System;
using System.Data;
namespace stumanage.IDAL
{
/// <summary>
/// 接口层Iuserdata 的摘要说明。
/// </summary>
public interface Iuserdata
{
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
bool Exists(string user_name);
}
}
在DALFactory类库中有
using System;
using System.Reflection;
using System.Configuration;
using stumanage.IDAL;
namespace stumanage.DALFactory
{
public sealed class DataAccess
{
private static readonly string path = System.Configuration.ConfigurationSettings.AppSettings["DAL"];
/// <summary>
/// 创建对象或从缓存获取
/// </summary>
public static object CreateObject(string path,string CacheKey)
{
object objType = DataCache.GetCache(CacheKey);//从缓存读取
if (objType == null)
{
try
{
objType = Assembly.Load(path).CreateInstance(CacheKey);//反射创建
DataCache.SetCache(CacheKey, objType);// 写入缓存
}
catch
{}
}
return objType;
}
/// <summary>
/// 创建userdata数据层接口
/// </summary>
public static stumanage.IDAL.Iuserdata Createuserdata()
{
string CacheKey = path+".userdata";
object objType=CreateObject(path,CacheKey);
return (Iuserdata)objType;
}
}
在SQLServerDAL类库中有
using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using stumanage.IDAL;
namespace stumanage.SQLServerDAL
{
/// <summary>
/// 数据访问类userdata 。
/// </summary>
public class userdata:Iuserdata
{
public userdata()
{}
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string user_name)
{
int rowsAffected;
SqlParameter[] parameters = {
new SqlParameter("@user_name", SqlDbType.VarChar,20)
};
parameters[0].Value = user_name;
int result= DbHelperSQL.RunProcedure("UP_userdata_Exists",parameters,out rowsAffected);
if(result==1)
{
return true;
}
else
{
return false;
}
}
}
}
在BLL类库中有
using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using stumanage.IDAL;
using stumanage.DALFactory;
namespace stumanage.BLL
{
/// <summary>
/// 业务逻辑类userdata 的摘要说明。
/// </summary>
public class userdata
{
private static readonly Iuserdata dal = DataAccess.Createuserdata();
public userdata()
{}
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string user_name)
{
return dal.Exists(user_name);
}
}
}
我在登陆页面 login.aspx.cs中有如下代码,编译通过,运行时登陆后报错
stumanage.BLL.userdata bllud = new stumanage.BLL.userdata();
if( bllud.Exists(user))
{
Response.Write("<script language='javascript'>alert('账号不存在');</script>");
return;
}
报的错误
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 32: public bool Exists(string user_name)
行 33: {
行 34: return dal.Exists(user_name);
行 35: }
行 36:
我已在webconfig定义了<appSettings>
<add key="ConnectionString" value="server=127.0.0.1;initial catalog=king;uid=sa;pwd=fscw" />
<add key="DAL" value="stumanage.SQLServerDAL" />
</appSettings>
解决方案 »
- 请问有谁有指针表那样的控件
- 请问在C#中如何向窗口发消息
- 对方发我一个刷新请求,请求我数据库表中的10条记录,我必须保证每秒最多发它一条记录,怎么做?
- C#中的Semaphone可以用在进程之间么?
- axWindowsMediaPlayer1如何隐藏"上一首"按钮?
- 开机自动启动程序的问题
- 调用excel的时候报:接口 Excel._Application 的 QueryInterface 失败!急!不够加分!
- 如何求一个数的所有素数因子?
- 【值得购买嘛?】这本书,大家看看怎么样
- 新建项目按确定键后,跟没事似的,项目也没建成,怎么回事呢?
- 问一个web应用的入门问题:动态产生一个Label并显示
- 小菜鸟关于通信程序的一个问题
{
string CacheKey = path+".userdata";
object objType=CreateObject(path,CacheKey);
return (Iuserdata)objType;
}
private static readonly Iuserdata dal = DataAccess.Createuserdata();
public bool Exists(string user_name)
{
int rowsAffected;
SqlParameter[] parameters = {
new SqlParameter("@user_name", SqlDbType.VarChar,20)
};
parameters[0].Value = user_name;
int result= DbHelperSQL.RunProcedure("UP_userdata_Exists",parameters,out rowsAffected);
if(result==1)
{
return true;
}
else
{
return false;
}
}public bool Exists(string user_name)
: {
return dal.Exists(user_name);
}
顺序是这样的 不知道哪里的错误啊 郁闷
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 32: public bool Exists(string user_name)
行 33: {
行 34: return dal.Exists(user_name);
行 35: }
行 36: