求助解决方法:数据库无法打开怎么解决,提示未指定的错误

zpw85 2008-12-22 06:05:00
代码是通过傻瓜化绑定的:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="AdminID"
DataSourceID="AccessDataSource1">
<Columns>
<asp:BoundField DataField="AdminID" HeaderText="AdminID" ReadOnly="True" SortExpression="AdminID" />
<asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
<asp:BoundField DataField="PassWd" HeaderText="PassWd" SortExpression="PassWd" />
<asp:BoundField DataField="Purview" HeaderText="Purview" SortExpression="Purview" />
<asp:BoundField DataField="Question" HeaderText="Question" SortExpression="Question" />
<asp:BoundField DataField="Answer" HeaderText="Answer" SortExpression="Answer" />
<asp:BoundField DataField="Sex" HeaderText="Sex" SortExpression="Sex" />
<asp:BoundField DataField="YouXiang" HeaderText="YouXiang" SortExpression="YouXiang" />
<asp:BoundField DataField="JingYong" HeaderText="JingYong" SortExpression="JingYong" />
<asp:BoundField DataField="UpdateTime" HeaderText="UpdateTime" SortExpression="UpdateTime" />
<asp:BoundField DataField="Logins" HeaderText="Logins" SortExpression="Logins" />
<asp:BoundField DataField="LastLogin" HeaderText="LastLogin" SortExpression="LastLogin" />
</Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/news2008.mdb"
SelectCommand="SELECT * FROM [DB_Admin]"></asp:AccessDataSource>
错误



未指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[OleDbException (0x80004005): 未指定的错误]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1054961
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +53
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +27
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +47
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.OleDb.OleDbConnection.Open() +37
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +121
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
System.Web.UI.WebControls.AccessDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +74
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +17
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +149
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +69
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +41
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360



...全文
397 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpw85 2008-12-30
  • 打赏
  • 举报
回复
可定前一天还用了,第二天就坏了!
ijwsoft 2008-12-25
  • 打赏
  • 举报
回复
确定连接成功了吗?
zpw85 2008-12-25
  • 打赏
  • 举报
回复
private static String connstr = ("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["ConnectionString"].ToString()));
private static OleDbCommand cmd = null;
private static OleDbDataReader dr = null;
public static OleDbConnection txt = new OleDbConnection(connstr);
public SqlProvider() { }
#region 检测查询是否为空
public static bool Check(string sqltxt)
{
int nreturn = 0;
try
{
using (OleDbConnection cn = new OleDbConnection(connstr))
{
cmd = cn.CreateCommand();
cmd.CommandText = sqltxt;

cn.Open();

dr = cmd.ExecuteReader();
while (dr.Read())
{
nreturn++;
if (nreturn > 0)
break;
}
if (dr != null)
dr.Close();
if (cn != null)
cn.Close();
}
}
catch
{
throw new ArgumentException("err");
}

if (nreturn > 0)
{
return true;
}
else
{
return false;
}
}
#endregion

#region 查询数据条数
public static int CheckPage(string sqltxt)
{
int nreturn = 0;
try
{
using (OleDbConnection cn = new OleDbConnection(connstr))
{
cmd = cn.CreateCommand();
cmd.CommandText = sqltxt;
cn.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
nreturn++;
}
if (dr != null)
dr.Close();
if (cn != null)
cn.Close();
}

}
catch
{
throw new ArgumentException("err");
}
return nreturn;
}
#endregion

#region ExecuteScalar方法
public static object ExecuteScalar(OleDbConnection connection, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;

}
#endregion

#region 获取返回字符串
public static string GetClassName(string sql)
{
string ClassName;
try
{
using (OleDbConnection cn = new OleDbConnection(connstr))
{

cn.Open();
object myobj = ExecuteScalar(cn, CommandType.Text, sql, null);
ClassName = myobj.ToString();
}
}
catch
{
throw new ArgumentException("err");
}
return ClassName;
}
#endregion

#region 获取dataset
public static DataSet ExecuteDataset(string sqltxt)
{
DataSet ds = new DataSet();
try
{
using (OleDbConnection cn = new OleDbConnection(connstr))
{

cmd = cn.CreateCommand();
cmd.CommandText = sqltxt;
cn.Open();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds);
cmd.Parameters.Clear();
if (cn != null)
cn.Close();

}

return ds;
}
catch
{
throw new ArgumentException("err");
}
}

#endregion

#region 添加 删除 修改
public static int ExecuteNonQuery(string sqltxt)
{
//try
//{
using (OleDbConnection cn = new OleDbConnection(connstr))
{

cmd = cn.CreateCommand();
cmd.CommandText = sqltxt;
cn.Open();
int retval = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
if (cn != null)
cn.Close();
return retval;
}

//}
//catch
//{
// throw new ArgumentException("err");
//}

}
#endregion

#region 获取Dictionary
public static Dictionary<string, string> Check(string sqltxt, Dictionary<string, string> param)
{
Dictionary<string, string> Reparam = new Dictionary<string, string>();
int nreturn = 0;
try
{
using (OleDbConnection cn = new OleDbConnection(connstr))
{
cmd = cn.CreateCommand();
cmd.CommandText = sqltxt;
cn.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{

nreturn++;
foreach (string str in param.Values)
{
Reparam.Add(str, dr[str] as string);
}
if (nreturn > 0)
break;
}
if (dr != null)
dr.Close();
if (cn != null)
cn.Close();
}
}
catch
{
throw new ArgumentException("err");
}
return Reparam;

}
#endregion

#region 为执行命令准备参数 OleDbCommand 命令
private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, CommandType cmdType, string cmdText, OleDbParameter[] cmdParms)
{

//判断数据库连接状态
if (conn.State != ConnectionState.Open)
conn.Open();

cmd.Connection = conn;
cmd.CommandText = cmdText;

//判断是否需要事物处理
if (trans != null)
cmd.Transaction = trans;

cmd.CommandType = cmdType;

if (cmdParms != null)
{
foreach (OleDbParameter parm in cmdParms)
cmd.Parameters.Add(parm);

}
}
#endregion
Jinglecat 2008-12-23
  • 打赏
  • 举报
回复
jiang_jiajia10 2008-12-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zpw85 的回复:]
加了没用!
[/Quote]
把你数据库连接代码发出来看看
zpw85 2008-12-23
  • 打赏
  • 举报
回复
加了没用!
jiang_jiajia10 2008-12-22
  • 打赏
  • 举报
回复
加上everyone的读写权限

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧