修改了Access数据库,为什么程序中反映不出来
使用Access2003 vs.net2003开发使用如下代码连接,对数据库进行查询
---连接代码------------------------------------------------------
Dim strConnect As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\HOTEL_DB.mdb"
Public oleDbConnection As OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(strConnect)
Public oleCmd As OleDb.OleDbCommand = New OleDb.OleDbCommand
-----------------------------------------------------------------
---查询代码------------------------------------------------------
oleDbConnection.Open()
oleCmd.CommandText = "...."
oleCmd.CommandType = CommandType.Text
oleCmd.Connection = oleDbConnection
Dim dr As OleDb.OleDbDataReader = oleCmd.ExecuteReader(CommandBehavior.SingleResult)
While dr.Read
....
End While
dr.Close()
oleDbConnection.Close()
----------------------------------------------------------------
因为是帮非专业的同学做的东西,而且非常小,这样用起来方便快捷,学习成本小。可是我在表中加了一个字段PIC_ADDRESS後,再这样访问这个字段
dr.item("PIC_ADDRESS")
运行,就会报错
---------------------------------------------------------------
未处理的“System.IndexOutOfRangeException”类型的异常出现在 system.data.dll 中。
其他信息: PIC_ADDRESS
---------------------------------------------------------------
数据库里字段已经成功添加,但是dr.FieldCount反映出来的列数却还是以前的
我关程序,注销系统,都没有用,这是什么问题?
希望大家指教
--------------------编程问答-------------------- oleCmd.CommandText = "...."中的sql语句要有select * 或者 select PIC_ADDRESS,...
--------------------编程问答-------------------- 。。。这个是有的,我是select * 的,和下面dr.read循环里面一样,我省略了 --------------------编程问答-------------------- 难道需要重新编译么? --------------------编程问答-------------------- …… 改动了程序。不编译。计算机怎么会知道。
补充:.NET技术 , VB.NET