当前位置:编程学习 > C#/ASP.NET >>

vb.net 数据库 最大值访问 MAX()

strSQL = "select MAX(ID) from caiming" 不知道这句SQL语句是否正确。 主要代码如下 Dim strSQL As String Dim conn As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("cookies.mdb")) strSQL = "select MAX(ID) from caiming" Dim cmd As New Data.OleDb.OleDbCommand(strSQL, conn) conn.Open() Dim dr As Data.OleDb.OleDbDataReader = cmd.ExecuteReader() dr.Read() message_newcai.Text &= "<img alt='' src='" & dr.Item("IMG_url_add") & "'/><br/><br/>" message_newcai.Text &= "菜名:" & dr.Item("caiming") & "<br/><br/>" message_newcai.Text &= "价格:" & dr.Item("jiage") & "<br/><br/>" message_newcai.Text &= "口味说明:" & dr.Item("cai_means") & "<br/><br/>" conn.Close() 说明: ID是这个表的一个字段,我想通过MAX函数来获取数据库ID字段的最大值,可是老是出问题,在运行的时候会跳出这样的一个说明,如下所示: IMG_url_add 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: IMG_url_add 源错误: 行 11: Dim dr As Data.OleDb.OleDbDataReader = cmd.ExecuteReader() 行 12: dr.Read() 行 13: message_newcai.Text &= "<img alt='' src='" & dr.Item("IMG_url_add") & "'/><br/><br/>" 行 14: message_newcai.Text &= "菜名:" & dr.Item("caiming") & "<br/><br/>" 行 15: message_newcai.Text &= "价格:" & dr.Item("jiage") & "<br/><br/>" 源文件: D:\WebSite2\message2.aspx.vb 行: 13 堆栈跟踪: [IndexOutOfRangeException: IMG_url_add] System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) +1433771 System.Data.OleDb.OleDbDataReader.GetOrdinal(String name) +65 System.Data.OleDb.OleDbDataReader.get_Item(String name) +12 message2.Page_Load(Object sender, EventArgs e) in D:\WebSite2\message2.aspx.vb:13 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436 具体错误信息图片如下,我个人觉得: message_newcai.Text &= "<img alt='' src='" & dr.Item("IMG_url_add") & "'/><br/><br/>" message_newcai.Text &= "菜名:" & dr.Item("caiming") & "<br/><br/>" message_newcai.Text &= "价格:" & dr.Item("jiage") & "<br/><br/>" 这三句代码应该没什么问题! 求助解决 需要有力的说明和详细的解决,不需要大篇幅的粘贴。和此问题无关的请勿乱贴!问题解决再给加分
答案:strSQL = "select MAX(ID) from caiming"  最后只返回了一个字段,不知道,你  dr.Item("IMG_url_add") 返回的是哪的东西? 
按我的理解应该改成
strSQL = "select * from caiming where ID=(select MAX(ID) from caiming)"
其他:改成executeScalar,取一个值就行了 Dim dr As Data.OleDb.OleDbDataReader = cmd.ExecuteReader()
        while (dr.Read())
        message_newcai.Text &= "<img alt='' src='" & dr["IMG_url_add"] 

上一个:vb.net中怎么批量的导入数据
下一个:VB.net 中, 输入“空格”的代码

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,