首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OledbConnection ExecuteScalar返回旧值

OledbConnection ExecuteScalar返回旧值
EN

Stack Overflow用户
提问于 2013-01-06 05:24:47
回答 2查看 285关注 0票数 1

我有一个dropdownbox,每当其中的值发生变化时,textbox应该通过执行以下方法中的select查询来更新。但是,查询总是返回下拉框中第一个项目的结果。当我调试程序时,文本的值始终是下拉框中第一项的值。

如果我使用SELECT suburb FROM sites WHERE SiteName = '“+ siteId.SelectedValue + "'”,那么我会在文本框中显示正确的值。当查询是Select address from sites时,我在获取正确的值时遇到了问题。

protected void siteId_SelectedIndexChanged(object sender,EventArgs e) { string connect = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|db.mdb";using (System.Data.OleDb.OleDbConnection conn = System.Data.OleDb.OleDbConnection(connect)) {

代码语言:javascript
复制
         conn.Open();
        string insertQuery= "SELECT SiteAddress FROM sites WHERE SiteName = '" + siteId.SelectedValue + "'";
        using (System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(insertQuery, conn))
        {

             object text =cmd.ExecuteScalar();
             string final = text.ToString();

             TextBox1.Text = final;

            conn.Close();
            Dispose();            }
    }
   }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-06 06:46:27

在将更改的值(新值)添加到下拉列表之前,您需要清除下拉列表中的现有值(旧值)。

票数 0
EN

Stack Overflow用户

发布于 2013-01-06 05:32:50

我的猜测是,转到填充列表的位置并添加if(!Page.IsPostBack)

代码语言:javascript
复制
if(!Page.IsPostBack)
{
    //bind items to dropdown list here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14176548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档