急,30分钟结贴,为何连不上ACCESS数据库,

require 2003-05-29 05:34:15
没做过与ACCESS数据库连接,出问题了,请看:
语句如下:
string sql="SELECT * FROM Sheet2";
string con = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access;Initial Catalog=dd.mdb";
OleDbConnection myConnection=new OleDbConnection (con);
myConnection.Open ();
OleDbDataAdapter da=new OleDbDataAdapter(sql,myConnection);
DataSet ds =new DataSet ();
da.Fill (ds,"Cate");
DataGrid1.DataSource =ds.Tables ["Cate"].DefaultView ;
DataGrid1.DataBind ();
myConnection.Close ();
错误为:
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
...全文
36 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
x1_x11 2003-05-29
  • 打赏
  • 举报
回复
我是用VS生成的,你也可以试一下,虽然很烦但是好用,反正也是COPY过来,不用自己写
暗石绿 2003-05-29
  • 打赏
  • 举报
回复
Server.MapPath("DB\\fileManage.mdb")

是取得access数据库的物理路径。

不过。。。不过这怎么像是我写的程序??
.....
require 2003-05-29
  • 打赏
  • 举报
回复
TO:xiajianfeng(权利的战车)
source = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("DB\\fileManage.mdb");
这能不能说清楚一点,谢了》
require 2003-05-29
  • 打赏
  • 举报
回复
myConnection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=dd.MDB;Mode=Share Deny None;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
用的了这么烦吗?
require 2003-05-29
  • 打赏
  • 举报
回复
TOx1_x11(x1_x11=??) :
source = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("DB\\fileManage.mdb");
这能不能说清楚一点,谢了》
gengwei80 2003-05-29
  • 打赏
  • 举报
回复
//把连接字串指定为一个常量
const String strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\mess.mdb";
OleDbConnection conn=new OleDbConnection(strconn);
conn.Open();
string sql="select * from title";
OleDbCommand cmd=new OleDbCommand(sql,conn);
DataSet ds=new DataSet();
OleDbDataAdapter adapter1=new OleDbDataAdapter(cmd);
adapter1.Fill(ds);
x1_x11 2003-05-29
  • 打赏
  • 举报
回复
试一下这个连接字符串:
myConnection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=dd.MDB;Mode=Share Deny None;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";

如果DD.MDB放在NTFS分区上还要注意当前WINDOWS用户的访问权限。
xiajianfeng 2003-05-29
  • 打赏
  • 举报
回复
using System.Data.OleDb;

...........
protected OleDbConnection Conn;
protected OleDbCommand oleDbCmd;
protected OleDbDataReader Dr;
protected string strSelect;
protected string source;
protected DataSet ds = new DataSet();
protected OleDbDataAdapter oleDbDa;
.....
source = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("DB\\fileManage.mdb");
strSelect = "select * from DataContent where ContentID="+parameter;

Conn = new OleDbConnection( source );

Conn.Open();

oleDbCmd = new OleDbCommand( strSelect, Conn );

Dr = oleDbCmd.ExecuteReader();

while( Dr.Read() )
{
caption.Value = Dr["DataCaption"].ToString();
content.Value = Dr["DataContent"].ToString();
}

Dr.Close();

Conn.Close();

62,046

社区成员

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

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

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

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