我在设计数据访问层时怎么更详细的把一些错误信息返回给用户?请看一下下面的代码:
在数据访问层定义了一个类:
public DataSet GetUserIfo(string duty)
{ string connString="DataSource=(local);Database=ERPDatabase;Uid=sa;Pwd=";
SqlConnnection myConn=new SqlConnection(connString);
string sqlString="SELECT * FROM user WHERE Duty='"+duty+"'";
SqlDataAdapter da=new SqlDataAdapter(sqlString,myConn);
try
{
myConn.Open();
}
Catch(SqlException connError)
{
在这里我应该返回什么信息来通知应用层的用户发生了数据库连接错误呢?
return null;
}
DataSet ds=new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch
{
return null;
}
finally
{
myConn.Close();
}}
在数据访问层定义了一个类:
public DataSet GetUserIfo(string duty)
{ string connString="DataSource=(local);Database=ERPDatabase;Uid=sa;Pwd=";
SqlConnnection myConn=new SqlConnection(connString);
string sqlString="SELECT * FROM user WHERE Duty='"+duty+"'";
SqlDataAdapter da=new SqlDataAdapter(sqlString,myConn);
try
{
myConn.Open();
}
Catch(SqlException connError)
{
在这里我应该返回什么信息来通知应用层的用户发生了数据库连接错误呢?
return null;
}
DataSet ds=new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch
{
return null;
}
finally
{
myConn.Close();
}}
{ string connString="DataSource=(local);Database=ERPDatabase;Uid=sa;Pwd=";
SqlConnnection myConn=new SqlConnection(connString);
string sqlString="SELECT * FROM user WHERE Duty= '"+duty+" '";
SqlDataAdapter da=new SqlDataAdapter(sqlString,myConn);
DataSet ds=new DataSet();
try
{
myConn.Open();
}
Catch(SqlException connError)
{
DataTable dt=new DataTable("one"); //想个办法,然后接收时取ds.Tables["one"].Rows[0][0].ToString()就行了
dt.Rows[0][0]=connError.Message;
ds.Tables.Add(dt);
return ds;
}
try
{
da.Fill(ds);
return ds;
}
catch
{
return null;
}
finally
{
myConn.Close();
} }
try
{
da.Fill(ds);
return ds;
}
catch(Exception ex)
{
return ex;
}
finally
{
if(myConn.State==ConnectionState.Open)
{
myConn.Close();
}
}
然后再在调用处捕获异常 继续处理