【问题标题】:Populate text boxes from SQL database从 SQL 数据库填充文本框
【发布时间】:2009-08-25 13:45:12
【问题描述】:

我有七个字段需要填充到七个文本框中。数据来自 SQL Compact DB...

到目前为止,这是我的代码,但我被卡住了。我需要做什么来填充表单加载上的文本框...非常感谢。

伍迪

private void mcContactSubmit_Load(object sender, EventArgs e)
{
    // 设置我们的 SQL 连接。
    SqlCeConnection 数据源 = 新的 SqlCeConnection(
                 @"数据源=|数据目录|\..\..\ContactInformation.sdf;
               持久安全信息=假");
        SqlCeDataReader myReader = null;

    // 创建我们的命令文本。
    string sqlQuery = String.Format(@"SELECT TOP (1) FirstName, LastName, Title,
    部门、类别、电话、来自 ContactInformation 的评论
    ORDER BY FirstName DESC");

    // 打开 SQL 连接。
    数据源.Open();

    SqlCeCommand myCommand = new SqlCeCommand(sqlQuery, dataSource);
    myReader = myCommand.ExecuteReader();
}

【问题讨论】:

    标签: c# sql textbox populate


    【解决方案1】:

    您可以使用索引或列名来获取实际数据,如下所示:

    myReader = cmd.ExecuteReader();
    
    // Run through the results
    while (myReader.Read())
    {
        string fname = myReader.GetString(0);
    
        // or alternatively:
    
        string fname2 = myReader["FirstName"];
    
        // Either of these should work
    }
    

    之后,对TextBox 进行简单分配。否则,您也可以直接将数据插入TextBox,但大多数情况下不应在此之前进行验证。

    如果您需要更多帮助,请看这里:

    MSDN - SqlCeDataReader

    【讨论】:

    • 多哈。我说得太早了。文本框没有被填充......这是我在调试模式下看到的内容:消息“如果基础游标不可滚动,SQL Server Compact 不支持对 HasRows 属性的调用。”这是什么意思?!大声笑...
    • 我已经尝试在 myReader = cmd 之后立即测试行。 ...但是,错误就在它之前抛出。如果我尝试在代码中更早的时候对其进行测试,我会得到一个 Object is not set to a reference of an object 错误...
    • 您之前只需要检查数据集,所以执行 bool whatever = myReader.Read();如果它是假的,请不要填写文本框。我不确定该错误是什么意思,我正在按照 Marc Gravell 的建议检查阅读器。
    猜你喜欢
    • 2014-05-12
    • 2016-04-15
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2013-06-02
    相关资源
    最近更新 更多