主题:  求助!请大家近来以下

groove

职务:普通成员
等级:1
金币:0.0
发贴:35
#12004/11/12 20:02:22
请问这个代码那里不行?
他显示:
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: BC30390: “System.Data.OleDb.OleDbDataReader.Private Sub New(connection As System.Data.OleDb.OleDbConnection, command As System.Data.OleDb.OleDbCommand, depth As Integer, chapter As System.IntPtr)”是“Private”,因此它在此上下文中无法访问。

源错误:



行 19:         dim sql as string
行 20:         sql="select * from data1"
行 21:         com=new oledbdatareader(sql,con)
行 22:         dim red as oledbdatareader
行 23:         red=com.executereader()


代码如下:
<%@import namespace="system.data.oledb"%>
<%@import namespace="system.data"%>
<HTML>
    <HEAD>
        <title>WebForm1</title>

    </HEAD>
    <body>
        <script language="vb" runat="server">
        sub page_load(sender as object, e as eventargs)
        dim con as oledbconnection
        dim constr as string
        constr="provider=microsoft.jet.oledb.4.0ata source=" & server.mappath("db1.mdb"
        con=new oledbconnection(constr)
        con.open()
        dim com as oledbcommand
        dim sql as string
        sql="select * from data1"
        com=new oledbdatareader(sql,con)
        dim red as oledbdatareader
        red=com.executereader()
        response.write("<table border=1><tr>"
        dim i
        for i=0 to red.fieldcount -1
         response.write("<td>"
         response.write(red.getname(i))
         response.write("</td>"
        next
        end sub
        </script>
    </body>
</HTML>

请大家帮帮我,为什么会有这个错误?谢谢!



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22004/11/12 21:54:03
对象引用错误,起始始定义的Com是oledbcommand对象,但又
com=new oledbdatareader(sql,con),这是两个类

Dim cmd As OledbCommand = new OledbCommand(sql, con)
Dim dr As OleDbDataReader = cmd.ExecteReader()


非常大鱼

groove

职务:普通成员
等级:1
金币:0.0
发贴:35
#32004/11/13 9:59:13
我改了之后,出现这样的错误。我装sql server 2000的时候他说只能装客户端。装完之后注册不了数据库,他说不存在或拒绝访问。会不会和这个有关系?请帮帮我,谢谢了!

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

异常详细信息: System.Data.OleDb.OleDbException: 没有可用的错误信息: REGDB_E_CLASSNOTREG(0x80040154)。

堆栈跟踪:


[OleDbException (0x80040154): 没有可用的错误信息: REGDB_E_CLASSNOTREG(0x80040154)。]

[InvalidOperationException: 未在本地计算机上注册“microsoft.jet.oledb.4.0:Data source=c:\inetpub\wwwroot\test\db1.mdb”提供程序。]
System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr) +83
System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString constr) +107
System.Data.OleDb.OleDbConnection.Open() +203
ASP.WebForm1_aspx.page_load(Object sender, EventArgs e) +97
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750




蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42004/11/13 10:52:51
你的系统是WIN XP吧,装SQL SERVER个人版


非常大鱼

groove

职务:普通成员
等级:1
金币:0.0
发贴:35
#52004/11/13 11:01:24
原来如此。谢谢!