如何把错误日志写入数据库?方便查看.
我一方面将数据库的增,删,改等方法根据返回的整型,提示是否成功显示给用户,
另一方面想得到如果操作失败时得到错误信息.
如何办呢?把错误写入文件好,还是数据库好?我想写入数据库是否好些,因为后台管理可直接查看.但我不知如何做.
写入数据库要有出错时间,原因等.还有,给用户的操作成功失败的提示在哪一层捕获方便些.如何做,谁能帮我一下,最好有源代码示例,
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="操作失败";
}
}
问题点数:20、回复次数:6Top
1 楼batihuzhaowei(巴弟)回复于 2006-03-06 22:31:10 得分 0
谢谢,我也有这方面的问题哦Top
2 楼WeekZero(∮小气的鬼∮)回复于 2006-03-06 22:54:44 得分 20
错误日志写在数据库中比较好些,便于操作
可以将日志定期导出到txt文本中,导出后将已经导出的就可以删除了
可以在操作后的返回值中做判断,统一一下操作成功返回1,失败返回0
中间出现异常时直接将得到的异常提示信息存入数据库中Top
3 楼gzlaspnet(爱程)回复于 2006-03-07 17:58:55 得分 0
我在出错时这样写入库却错,是什么原因?提示:第1行‘必须声明变量',附近有语法错误。
catch (SqlException err)
{
string cs= ConfigurationSettings.AppSettings["SqlServerConnectionString"];
helper.ExecuteNonQuery(cs,CommandType.Text,"insert into [tab_err] ([error]) values('"+err.Message.ToString()+"')");
}Top
4 楼gzlaspnet(爱程)回复于 2006-03-07 17:59:41 得分 0
不知谁能在出错时写一个简单的错误入库示例一下。Top
5 楼gzlaspnet(爱程)回复于 2006-03-08 10:51:06 得分 0
catch(SqlException err)
{
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()不对。Top
6 楼iceblue2005gather(美丽心情)回复于 2006-03-14 16:36:06 得分 0
mark
我先学方法,再来解决实际问题!Top




