CodeBehind文件和一般的aspx文件不一样,给你一个简单的例子:t1.aspx<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" AutoEventWireup="false" Src="t1.aspx.vb" Inherits="class1" %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <asp:label id="label1" runat="server" /> </body> </html>-------------------------------------------------------------------------- t1.aspx.vbImports System Public Class class1 Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Sub Page_Load(Byval Src As Object,Byval E As EventArgs) Handles MyBase.Load label1.Text = "这是一个测试" End Sub End Class
名称空间已正确导入,我发现在单位的系统中OLEDB对象没有发生问题,只是声明字符串变量时必须写成 Dim str As String = "testStr" ,不能写成两行 dim str As string str="testStr"
因web应用是无状态的, 将Con变量定义为static型
“ Dim Con As New OleDbConnection() Con.ConnectionString = strCon'strCon为连接数据库的字符串 但系统提示我Con需要声明 “ 如果OleDbConnection不出错,可能vs有问题
回复:timmy3310(tim)你指的外部是不是在类中且在函数和过程外边只能写声明,而不能赋值。 如果赋值我试了一下Dim s As String = "teststring" 这样写是可以的。另外,我载过程中声明OledbCommand对象 Dim objCom As New OledbCommand(strCon, Con) 系统提示Sub New()参数太多 objCom.CommandText = "select * from MyDB" 系统提示CommandText不是objCom的成员 这是为什麽,同样的代码在单位的机子就没事?? 多谢你了!!
回复:timmy3310(tim)我现在的开发环境版本是Version:7.09486 .NET框架1.0 版本是Version:1.0.3705 Microsoft Visual Basic .NET 55601-640-0000007-18945 Microsoft Visual C# .NET 55601-640-0000007-18945问题是我在单位的机器中没有出现这些问题,而单位的VS是我用同样的安装盘装的,版本一样的。我把单位的代码超回来就会出现问题,真没辙。
我的全部代码Imports System Imports System.Data Imports System.Data.OleDb Imports System.Data.OleDb.OleDbCommandPublic Class tes Inherits System.Web.UI.Page Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox Protected WithEvents LalSun As System.Web.UI.WebControls.Label Protected WithEvents LalSunValue As System.Web.UI.WebControls.Label Protected WithEvents LalSunSat As System.Web.UI.WebControls.Label Protected WithEvents LalSat As System.Web.UI.WebControls.Label Protected WithEvents LalSatValue As System.Web.UI.WebControls.Label Protected WithEvents LalWeekNo As System.Web.UI.WebControls.Label Protected WithEvents TxtWeek As System.Web.UI.WebControls.TextBox Protected WithEvents imgBtnUp As System.Web.UI.WebControls.ImageButton Protected WithEvents imgBtnDown As System.Web.UI.WebControls.ImageButton Protected WithEvents dg As System.Web.UI.WebControls.DataGrid Protected WithEvents Textbox2 As System.Web.UI.WebControls.TextBox Protected WithEvents btnSave As System.Web.UI.WebControls.Button Protected WithEvents btnQuit As System.Web.UI.WebControls.Button Dim strCon As String = "Provider = Microsoft.Jet.OleDB.4.0;Data Source = " & Server.Mappath("ado.net/timemanager.mdb") Dim Con As New OleDbConnection(strCon) Dim ds As New DataSet() Dim strSql As String = "Select T.ID,T.EmployeeNo,T.ProjectNo,T.JobCode,J.JobDescription,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,(Sunday+Monday+Tuesday+Wednesday+Thursday+Friday+Saturday) As Total,WeekNo,Re From TimeCardDetail T,JobCode J Where T.JobCode = J.JobCode and WeekNo= 23" Dim objAdapter As New OleDbDataAdapter(strSql, Con)#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub 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 If Not IsPostBack Then Dim testWeekNo As New net_2003.SpaceManage.ClassWeekNo() Dim ShowSun As String Dim ShowSat As String Dim ShowWeek As String ShowSun = testWeekNo.DateOfSun ShowSat = testWeekNo.DateOfSat ShowWeek = testWeekNo.week LalSun.Text = "SUN:" LalSunValue.Text = ShowSun LalSunSat.Text = " to " LalSat.Text = "SAT:" LalSatValue.Text = ShowSat TxtWeek.Text = ShowWeek End If objAdapter.Fill(ds, "TimeCardDetail") dg.DataSource = ds dg.DataMember = "TimeCardDetail" If Not Page.IsPostBack Then dg.DataBind() End If End Sub Sub dg_change(ByVal Sender As Object, ByVal E As DataGridPageChangedEventArgs) dg.CurrentPageIndex = E.NewPageIndex dg.DataBind() End Sub Sub dg_edit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) dg.EditItemIndex = e.Item.ItemIndex dg.DataBind() End Sub Sub dg_cancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) dg.EditItemIndex = -1 dg.DataBind() End Sub Sub dg_update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Dim jcText As TextBox = CType(e.Item.Cells(5).Controls(0), TextBox) Dim rmText As TextBox = CType(e.Item.Cells(6).Controls(0), TextBox) Dim sqlstr As String sqlstr = "UPDATE TimeCardDetail SET " & _ " Sunday= '" & jcText.Text & "', " & _ " Monday = '" & rmText.Text & "' " & _ "WHERE ID = " & e.Item.Cells(0).Text & " And EmployeeNo = " & e.Item.Cells(1).Text Response.Write(sqlstr) Con.Open() Dim objCommand As New OledbCommand() objCommand.CommandText = sqlstr '调试时出错CommandText不是objCommand的成员 objCommand.ExecuteNonQuery() dg.EditItemIndex = -1 dg.DataBind() ds.Tables.Clear() objAdapter.Fill(ds, "TimeCardDetail") dg.EditItemIndex = -1 dg.DataBind() Con.Close() End Sub Sub UpWeekNo(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) TxtWeek.Text = TxtWeek.Text + 1 End Sub Sub DownWeekNo(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Response.Write("Down") End SubEnd Class'------------------这样声明 Dim objCommand As New OledbCommand() objCommand.CommandText = sqlstr '出错CommandText不是objCommand的成员'------------------这样声明 Dim objCommand = New OledbCommand() objCommand.CommandText = sqlstr '调试时没错但调用updata过程时出错CommandText不是objCommand的成员请问用As 和 "="声明用什末不同?? 为什末总是报错CommandText不是objCommand的成员,而在同样版本的VS不同的机器上用同样的代码就不报错???也没有这样折磨初级新手的...
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<asp:label id="label1" runat="server" />
</body>
</html>--------------------------------------------------------------------------
t1.aspx.vbImports System
Public Class class1
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Sub Page_Load(Byval Src As Object,Byval E As EventArgs) Handles MyBase.Load
label1.Text = "这是一个测试"
End Sub
End Class
Dim str As String = "testStr" ,不能写成两行
dim str As string
str="testStr"
将Con变量定义为static型
Con.ConnectionString = strCon'strCon为连接数据库的字符串
但系统提示我Con需要声明
“
如果OleDbConnection不出错,可能vs有问题
如果赋值我试了一下Dim s As String = "teststring"
这样写是可以的。另外,我载过程中声明OledbCommand对象
Dim objCom As New OledbCommand(strCon, Con)
系统提示Sub New()参数太多
objCom.CommandText = "select * from MyDB"
系统提示CommandText不是objCom的成员
这是为什麽,同样的代码在单位的机子就没事??
多谢你了!!
.NET框架1.0 版本是Version:1.0.3705
Microsoft Visual Basic .NET 55601-640-0000007-18945
Microsoft Visual C# .NET 55601-640-0000007-18945问题是我在单位的机器中没有出现这些问题,而单位的VS是我用同样的安装盘装的,版本一样的。我把单位的代码超回来就会出现问题,真没辙。
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.OleDb.OleDbCommandPublic Class tes
Inherits System.Web.UI.Page Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents LalSun As System.Web.UI.WebControls.Label
Protected WithEvents LalSunValue As System.Web.UI.WebControls.Label
Protected WithEvents LalSunSat As System.Web.UI.WebControls.Label
Protected WithEvents LalSat As System.Web.UI.WebControls.Label
Protected WithEvents LalSatValue As System.Web.UI.WebControls.Label
Protected WithEvents LalWeekNo As System.Web.UI.WebControls.Label
Protected WithEvents TxtWeek As System.Web.UI.WebControls.TextBox
Protected WithEvents imgBtnUp As System.Web.UI.WebControls.ImageButton
Protected WithEvents imgBtnDown As System.Web.UI.WebControls.ImageButton
Protected WithEvents dg As System.Web.UI.WebControls.DataGrid
Protected WithEvents Textbox2 As System.Web.UI.WebControls.TextBox
Protected WithEvents btnSave As System.Web.UI.WebControls.Button
Protected WithEvents btnQuit As System.Web.UI.WebControls.Button Dim strCon As String = "Provider = Microsoft.Jet.OleDB.4.0;Data Source = " & Server.Mappath("ado.net/timemanager.mdb")
Dim Con As New OleDbConnection(strCon)
Dim ds As New DataSet()
Dim strSql As String = "Select T.ID,T.EmployeeNo,T.ProjectNo,T.JobCode,J.JobDescription,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,(Sunday+Monday+Tuesday+Wednesday+Thursday+Friday+Saturday) As Total,WeekNo,Re From TimeCardDetail T,JobCode J Where T.JobCode = J.JobCode and WeekNo= 23"
Dim objAdapter As New OleDbDataAdapter(strSql, Con)#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub 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
If Not IsPostBack Then
Dim testWeekNo As New net_2003.SpaceManage.ClassWeekNo()
Dim ShowSun As String
Dim ShowSat As String
Dim ShowWeek As String ShowSun = testWeekNo.DateOfSun
ShowSat = testWeekNo.DateOfSat
ShowWeek = testWeekNo.week LalSun.Text = "SUN:"
LalSunValue.Text = ShowSun
LalSunSat.Text = " to "
LalSat.Text = "SAT:"
LalSatValue.Text = ShowSat
TxtWeek.Text = ShowWeek End If
objAdapter.Fill(ds, "TimeCardDetail")
dg.DataSource = ds
dg.DataMember = "TimeCardDetail"
If Not Page.IsPostBack Then
dg.DataBind()
End If
End Sub Sub dg_change(ByVal Sender As Object, ByVal E As DataGridPageChangedEventArgs)
dg.CurrentPageIndex = E.NewPageIndex
dg.DataBind()
End Sub Sub dg_edit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
dg.EditItemIndex = e.Item.ItemIndex
dg.DataBind()
End Sub Sub dg_cancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
dg.EditItemIndex = -1
dg.DataBind()
End Sub Sub dg_update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim jcText As TextBox = CType(e.Item.Cells(5).Controls(0), TextBox)
Dim rmText As TextBox = CType(e.Item.Cells(6).Controls(0), TextBox)
Dim sqlstr As String
sqlstr = "UPDATE TimeCardDetail SET " & _
" Sunday= '" & jcText.Text & "', " & _
" Monday = '" & rmText.Text & "' " & _
"WHERE ID = " & e.Item.Cells(0).Text & " And EmployeeNo = " & e.Item.Cells(1).Text
Response.Write(sqlstr) Con.Open() Dim objCommand As New OledbCommand() objCommand.CommandText = sqlstr '调试时出错CommandText不是objCommand的成员
objCommand.ExecuteNonQuery() dg.EditItemIndex = -1
dg.DataBind()
ds.Tables.Clear()
objAdapter.Fill(ds, "TimeCardDetail")
dg.EditItemIndex = -1
dg.DataBind()
Con.Close() End Sub Sub UpWeekNo(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
TxtWeek.Text = TxtWeek.Text + 1
End Sub Sub DownWeekNo(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
Response.Write("Down")
End SubEnd Class'------------------这样声明
Dim objCommand As New OledbCommand()
objCommand.CommandText = sqlstr '出错CommandText不是objCommand的成员'------------------这样声明
Dim objCommand = New OledbCommand()
objCommand.CommandText = sqlstr '调试时没错但调用updata过程时出错CommandText不是objCommand的成员请问用As 和 "="声明用什末不同??
为什末总是报错CommandText不是objCommand的成员,而在同样版本的VS不同的机器上用同样的代码就不报错???也没有这样折磨初级新手的...