我一方面将数据库的增,删,改等方法根据返回的整型,提示是否成功显示给用户,
另一方面想得到如果操作失败时得到错误信息.
如何办呢?把错误写入文件好,还是数据库好?我想写入数据库是否好些,因为后台管理可直接查看.但我不知如何做.
写入数据库要有出错时间,原因等.还有,给用户的操作成功失败的提示在哪一层捕获方便些.如何做,谁能帮我一下,最好有源代码示例,DAL层,
public int TabUseAdd(gotdot3.Model.Tab_user model)
{
int i=0;
StringBuilder strSql=new StringBuilder();
try
{
strSql.Append("insert into [tab_user](");
strSql.Append("username,detail,f)");
strSql.Append(" values (");
strSql.Append("@username,@detail,@f)");
SqlParameter[] parameters = {
new SqlParameter("@username", SqlDbType.Char,10),
new SqlParameter("@detail", SqlDbType.VarChar,100),
new SqlParameter("@f", SqlDbType.Float,8)};
parameters[0].Value = model.username;
parameters[1].Value = model.detail;
parameters[2].Value = model.f;
i=helper.ExecuteNonQuery(cs,CommandType.Text,strSql.ToString(),parameters);
}
catch(Exception error)
{
}
return i;
}
BLL层:
public int TabUserAdd(gotdot3.Model.Tab_user Model)
{
gotdot3.Dal.tab_user dal=new gotdot3.Dal.tab_user();
return dal.TabUseAdd(Model);
}
WEB界面:
private void Btn_Add_Click(object sender, System.EventArgs e)
{
model.username=this.Txt_username.Text;
model.detail=this.Txt_detail.Text;
model.f=Convert.ToSingle(this.Txt_float.Text); int i=0;
i=bll.TabUserAdd(model);
if (i==1)
{
this.Label1.Text="操作成功";
}
else
{
this.Label1.Text="操作失败";
}
}
另一方面想得到如果操作失败时得到错误信息.
如何办呢?把错误写入文件好,还是数据库好?我想写入数据库是否好些,因为后台管理可直接查看.但我不知如何做.
写入数据库要有出错时间,原因等.还有,给用户的操作成功失败的提示在哪一层捕获方便些.如何做,谁能帮我一下,最好有源代码示例,DAL层,
public int TabUseAdd(gotdot3.Model.Tab_user model)
{
int i=0;
StringBuilder strSql=new StringBuilder();
try
{
strSql.Append("insert into [tab_user](");
strSql.Append("username,detail,f)");
strSql.Append(" values (");
strSql.Append("@username,@detail,@f)");
SqlParameter[] parameters = {
new SqlParameter("@username", SqlDbType.Char,10),
new SqlParameter("@detail", SqlDbType.VarChar,100),
new SqlParameter("@f", SqlDbType.Float,8)};
parameters[0].Value = model.username;
parameters[1].Value = model.detail;
parameters[2].Value = model.f;
i=helper.ExecuteNonQuery(cs,CommandType.Text,strSql.ToString(),parameters);
}
catch(Exception error)
{
}
return i;
}
BLL层:
public int TabUserAdd(gotdot3.Model.Tab_user Model)
{
gotdot3.Dal.tab_user dal=new gotdot3.Dal.tab_user();
return dal.TabUseAdd(Model);
}
WEB界面:
private void Btn_Add_Click(object sender, System.EventArgs e)
{
model.username=this.Txt_username.Text;
model.detail=this.Txt_detail.Text;
model.f=Convert.ToSingle(this.Txt_float.Text); int i=0;
i=bll.TabUserAdd(model);
if (i==1)
{
this.Label1.Text="操作成功";
}
else
{
this.Label1.Text="操作失败";
}
}
可以将日志定期导出到txt文本中,导出后将已经导出的就可以删除了可以在操作后的返回值中做判断,统一一下操作成功返回1,失败返回0
中间出现异常时直接将得到的异常提示信息存入数据库中
catch (SqlException err)
{
string cs= ConfigurationSettings.AppSettings["SqlServerConnectionString"];
helper.ExecuteNonQuery(cs,CommandType.Text,"insert into [tab_err] ([error]) values('"+err.Message.ToString()+"')");
}
{
string sql="insert into [tab_err] ([error]) values('"+
FormatString(err.Message.ToString())+
FormatString(err.Source.ToString())+
FormatString(err.Number.ToString())+
FormatString(err.LineNumber.ToString())+"')";
helper.ExecuteNonQuery(cs,CommandType.Text,sql);
}
我现在以经把出错信息写入库里,可是我想得到是那个文件的那一行错出何得到,err.Number.ToString()和err.LineNumber.ToString()不对。