我在ashx文件中的sql语句是这样写的.
String strDbConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("data/data.mdb");
OleDbConnection DbConn = new OleDbConnection(strDbConn);
DbConn.Open();
String strsql = "select top 7 id,s_id,when Len(topic)>15 then (substring(topic,0,15)+'...') else topic end as topic from article where (s_id=228 or s_id=253) order by id desc";
OleDbCommand cmd = new OleDbCommand(strsql, DbConn);
OleDbDataReader dr = cmd.ExecuteReader();
但页面报错
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。源错误:
行 18: String strsql = "select top 7 id,s_id,when Len(topic)>15 then (substring(topic,0,15)+'...') else topic end as topic from article where (s_id=228 or s_id=253) order by id desc";
行 19: OleDbCommand cmd = new OleDbCommand(strsql, DbConn);
行 20: OleDbDataReader dr = cmd.ExecuteReader();
第20行错...请教各位大哥大姐,我应该怎么改啊?还有,substring是不是要加上下面这一段啊?
public string substring(string strTemp, int intLen, int IntClen)
{
int intCLenCount = System.Text.Encoding.Default.GetBytes(strTemp).Length; string strTempA = ""; if (intCLenCount > intLen)
{
strTempA = strTemp.Substring(0, IntClen) + "...";
}
else
{
strTempA = strTemp.ToString();
} return strTempA;
}
String strDbConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("data/data.mdb");
OleDbConnection DbConn = new OleDbConnection(strDbConn);
DbConn.Open();
String strsql = "select top 7 id,s_id,when Len(topic)>15 then (substring(topic,0,15)+'...') else topic end as topic from article where (s_id=228 or s_id=253) order by id desc";
OleDbCommand cmd = new OleDbCommand(strsql, DbConn);
OleDbDataReader dr = cmd.ExecuteReader();
但页面报错
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。源错误:
行 18: String strsql = "select top 7 id,s_id,when Len(topic)>15 then (substring(topic,0,15)+'...') else topic end as topic from article where (s_id=228 or s_id=253) order by id desc";
行 19: OleDbCommand cmd = new OleDbCommand(strsql, DbConn);
行 20: OleDbDataReader dr = cmd.ExecuteReader();
第20行错...请教各位大哥大姐,我应该怎么改啊?还有,substring是不是要加上下面这一段啊?
public string substring(string strTemp, int intLen, int IntClen)
{
int intCLenCount = System.Text.Encoding.Default.GetBytes(strTemp).Length; string strTempA = ""; if (intCLenCount > intLen)
{
strTempA = strTemp.Substring(0, IntClen) + "...";
}
else
{
strTempA = strTemp.ToString();
} return strTempA;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货