“未定义类型”错误,第一次编程就出错。
我已经在html页中添加了<%@ import namespace="system.data"%>
<%@ import namespace="system.data.oledb" %>,可是还是提示“c:\inetpub\wwwroot\人事管理\WebForm1.aspx.vb(74): 未定义类型“oledbconnection”。”这是怎么一回事?请大侠指点。我刚开始学习很菜!希望能得到大家的帮助!
问题点数:50、回复次数:23Top
1 楼conquersky(conquersky V)回复于 2004-12-04 14:54:16 得分 5
要 实例化后才能用!
oledbconnection conn = new oledbconnection();
conn.openTop
2 楼xuexiabc()回复于 2004-12-04 15:06:18 得分 0
我有实例化,我在学习的时候照抄书,可以运行,到自己在VS设计器中编写时却不行了。Top
3 楼xuexiabc()回复于 2004-12-04 15:07:16 得分 0
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="人事管理.WebForm1"%>
<%@ import namespace="system.data"%>
<%@ import namespace="system.data.oledb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>人员信息查询</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<BODY>
<form id="Form1" method="post" runat="server">
<asp:label id="Label1" style="Z-INDEX: 101; LEFT: 248px; POSITION: absolute; TOP: 48px" runat="server"
ForeColor="Red" Font-Size="Large" Font-Names="仿宋_GB2312" Height="64px" Width="328px">人事资料查询</asp:label><asp:label id="Label12" style="Z-INDEX: 118; LEFT: 8px; POSITION: absolute; TOP: 256px" runat="server"
Font-Size="Small" Height="24px" Width="80px">文化程度:</asp:label><asp:label id="Label11" style="Z-INDEX: 117; LEFT: 16px; POSITION: absolute; TOP: 216px" runat="server"
Height="24px" Width="64px">籍贯:</asp:label><asp:label id="Label10" style="Z-INDEX: 116; LEFT: 16px; POSITION: absolute; TOP: 288px" runat="server"
Height="24px" Width="64px">部门:</asp:label><asp:label id="Label9" style="Z-INDEX: 115; LEFT: 16px; POSITION: absolute; TOP: 176px" runat="server"
Height="24px" Width="64px">民族:</asp:label><asp:label id="Label8" style="Z-INDEX: 114; LEFT: 176px; POSITION: absolute; TOP: 224px" runat="server"
ForeColor="Red" Font-Size="Medium" Height="16px" Width="24px">*</asp:label><asp:textbox id="TextBox9" style="Z-INDEX: 112; LEFT: 104px; POSITION: absolute; TOP: 288px"
runat="server" Width="64px"></asp:textbox><asp:textbox id="TextBox8" style="Z-INDEX: 111; LEFT: 104px; POSITION: absolute; TOP: 256px"
runat="server" Width="64px"></asp:textbox><asp:textbox id="TextBox7" style="Z-INDEX: 110; LEFT: 104px; POSITION: absolute; TOP: 216px"
runat="server" Width="64px"></asp:textbox><asp:textbox id="TextBox6" style="Z-INDEX: 109; LEFT: 104px; POSITION: absolute; TOP: 176px"
runat="server" Width="64px"></asp:textbox><asp:label id="Label7" style="Z-INDEX: 103; LEFT: 16px; POSITION: absolute; TOP: 144px" runat="server"
Height="24px" Width="64px">姓名:</asp:label><asp:label id="Label6" style="Z-INDEX: 104; LEFT: 16px; POSITION: absolute; TOP: 144px" runat="server"
Height="24px" Width="64px">姓名:</asp:label><asp:label id="Label5" style="Z-INDEX: 105; LEFT: 16px; POSITION: absolute; TOP: 144px" runat="server"
Height="24px" Width="64px">姓名:</asp:label><asp:label id="Label4" style="Z-INDEX: 106; LEFT: 16px; POSITION: absolute; TOP: 144px" runat="server"
Height="24px" Width="64px">姓名:</asp:label><asp:textbox id="TextBox1" style="Z-INDEX: 102; LEFT: 104px; POSITION: absolute; TOP: 144px"
runat="server" Width="64px"></asp:textbox><asp:label id="Label2" style="Z-INDEX: 107; LEFT: 16px; POSITION: absolute; TOP: 144px" runat="server"
Height="24px" Width="64px">姓名:</asp:label><asp:label id="Label3" style="Z-INDEX: 108; LEFT: 176px; POSITION: absolute; TOP: 144px" runat="server"
ForeColor="Red" Font-Size="Medium" Height="16px" Width="24px">*</asp:label><asp:button id="Button1" style="Z-INDEX: 113; LEFT: 248px; POSITION: absolute; TOP: 504px" runat="server"
Width="48px" Text="刷新"></asp:button>
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 119; LEFT: 400px; POSITION: absolute; TOP: 344px"
runat="server"></asp:DataGrid></form>
</BODY>
</HTML>
Top
4 楼xuexiabc()回复于 2004-12-04 15:08:07 得分 0
Public Class WebForm1
Inherits System.Web.UI.Page
Public myConnstring As String = "provider=microsoft.jet.oledb.4.0;data source=" & Server.mappath("人.mdb")
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Dim MyConnection As OleDbConnection
Dim strsqlstr As String
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents Label3 As System.Web.UI.WebControls.Label
Protected WithEvents Label4 As System.Web.UI.WebControls.Label
Protected WithEvents Label5 As System.Web.UI.WebControls.Label
Protected WithEvents Label6 As System.Web.UI.WebControls.Label
Protected WithEvents Label7 As System.Web.UI.WebControls.Label
Protected WithEvents TextBox6 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox7 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox8 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox9 As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents Label8 As System.Web.UI.WebControls.Label
Protected WithEvents Label9 As System.Web.UI.WebControls.Label
Protected WithEvents Label10 As System.Web.UI.WebControls.Label
Protected WithEvents Label11 As System.Web.UI.WebControls.Label
Protected WithEvents Label12 As System.Web.UI.WebControls.Label
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not TextBox1.Text = "" Then
strsqlstr = strsqlstr + " 姓名 like'" + TextBox1.Text + "' and "
End If
If Not TextBox6.Text = "" Then
strsqlstr = strsqlstr + "民族='" + TextBox6.Text + "' and "
End If
If Not TextBox7.Text = "" Then
strsqlstr = strsqlstr + "籍贯 like'" + TextBox7.Text + "' and "
End If
If Not TextBox8.Text = "" Then
strsqlstr = strsqlstr + " 文化程度 ='" + TextBox8.Text + "' and "
End If
If Not TextBox9.Text = "" Then
strsqlstr = strsqlstr + " 部门='" + TextBox9.Text + "' and "
End If
If Not strsqlstr = "" Then
strsqlstr = Left(strsqlstr, Len(strsqlstr) - 5)
strsqlstr = " where " + strsqlstr
End If
strsqlstr = "select * from 人员信息" + strsqlstr
Try
MyConnection = New oledbconnection(myConnstring)
Dim mycommand As oledbcommand = New oledbcommand(strsqlstr, MyConnection)
MyConnection.open()
Dim mydatareader As oledbdatareader = mycommand.executereader
DataGrid1.DataSource = mydatareader
DataGrid1.DataBind()
mydatareader.close()
MyConnection.close()
Catch ex As Exception
Finally
End Try
End Sub
End Class
Top
5 楼yanransoft()回复于 2004-12-04 15:16:45 得分 0
看看是不是类名写的不对。
oledbconnection->OleDbConnection
类似的还有oledbcommand,oledbdatareader ,close
Top
6 楼xuexiabc()回复于 2004-12-04 16:22:58 得分 0
我写了三遍了!把以前抄书的例子(可以运行)贴过来也不行。我快疯了!5555555555555Top
7 楼colinliu(流浪人)回复于 2004-12-04 16:40:42 得分 0
那就看你系统支持不支持asp.net了。。。。。。。。。。。。。。。Top
8 楼xiahouwen(武眉博<活靶子.NET>)回复于 2004-12-04 16:47:55 得分 0
<%@ import namespace="system.data.oledb"%>Top
9 楼xuexiabc()回复于 2004-12-05 07:51:54 得分 0
我的系统支持ASP.NET,同样是这个类的另一个小程序能正常运行。
唯一不同的是,后面这个程序,我是先运行,发现不行(提示类型未定义)然后再在html中加名称空间。再重新生成,但是还是不行。Top
10 楼xuandme000(水丝游云)回复于 2004-12-05 09:31:05 得分 0
WebForm1.aspx.vb中你没有导入必须的空间吧,比如oledb?Top
11 楼xuexiabc()回复于 2004-12-05 10:36:56 得分 0
唉,晕倒,我有啊,程序在上面……Top
12 楼xuandme000(水丝游云)回复于 2004-12-05 10:55:14 得分 0
用 using 试试Top
13 楼ydsunny(在路上)回复于 2004-12-05 11:05:40 得分 0
我已经在html页中添加了<%@ import namespace="system.data"%>
<%@ import namespace="system.data.oledb" %>??????????
________________________________________________________________________
你的网页扩展名该不会是*.htm吧?Top
14 楼ch21st(www.blanksoft.com)回复于 2004-12-05 11:18:33 得分 5
在绑定的代码中写上
Imports System.Data.OleDb
Top
15 楼xuandme000(水丝游云)回复于 2004-12-05 12:26:05 得分 0
"我已经在html页中添加了<%@ import namespace="system.data"%>"
真的是在html页中??????????????????????????Top
16 楼zpisgod(GOD)回复于 2004-12-05 13:52:34 得分 10
codebehind中在html代码中导入名称控件是不行的
你要在.vb的代码文件中导入它:
在代码顶部加上
Imports System.Data.OleDbTop
17 楼xuexiabc()回复于 2004-12-05 13:56:45 得分 0
to:xuandme000(水丝游云) ydsunny(小强)
我是在VS的设计器中做的,点其中的“html”然后在上面写代码。程序我已经贴在上面了。Top
18 楼xuexiabc()回复于 2004-12-05 14:11:12 得分 0
to:zpisgod(GOD)
你好!我在代码顶部加了,可是提示说imPORTS前面要申明,我加了declare,又说没有sub或funcation。请你把这条语句完整的写一下好吗?应该就是你说的问题了!Top
19 楼xuexiabc()回复于 2004-12-05 14:41:17 得分 0
哪位知道应该怎么加这句Imports System.Data.OleDb
请说一下吧,最好把代码贴出来,我的旧代码在上面。谢谢!Top
20 楼saucer(思归)回复于 2004-12-05 20:59:52 得分 25
Imports System.Data
Imports System.Data.OleDb
...
Public Class WebForm1
Inherits System.Web.UI.Page
Public myConnstring As String = "provider=microsoft.jet.oledb.4.0;data source=" & Server.mappath("人.mdb")
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Dim MyConnection As OleDbConnection
Dim strsqlstr As String
Top
21 楼saucer(思归)回复于 2004-12-05 21:01:25 得分 0
make sure you have added a reference to System.Data.dllTop
22 楼ydsunny(在路上)回复于 2004-12-06 07:19:41 得分 5
在VS设计器下开发都是以代码后置形式工作的,只在ASPX页面引用<%Imports System.Data.OleDb%>是不行的,正确的应该在.vb文件里像思归那种形式引用
Top
23 楼xuexiabc()回复于 2004-12-06 08:07:12 得分 0
解决了。谢谢大家!Top




