c# - 在 C# 中查找数据库中的下一条记录

标签 c# sql-server database

我想通过点击一个按钮来显示下一条记录。这是我的代码

private DataTable GetData()
        {
            DataTable dt = new DataTable();

            SqlConnection connection = new SqlConnection(connectionString);
            try
            {
                connection.Open();
                SqlCommand sqlCmd = new SqlCommand("Select * From Data", connection);
                SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);

                sqlDa.Fill(dt);
            }
            catch (System.Data.SqlClient.SqlException ex)
            {

            }
            finally
            {
                connection.Close();
            }
            return dt;
        }


        public Form1()
        {

            DataTable dt = GetData();
            if (dt.Rows.Count > 0)
            {
                // Populate the TextBox with the first entry on page load
                txtName.Text = dt.Rows[0]["Name"].ToString();
            }
        }

但我在 txtName.Text = dt.Rows[0]["Name"].ToString(); 上遇到异常 对象引用不是对象的集合。

请帮帮我

最佳答案

首先要检查数据库端,是否真的有一个列为 Name,这可能是 sql 开发人员或您自己为该列设置了别名:

SELECT Name AS NotAnotherName, ID FROM...

第二件事是在读取它的内容之前检查它是否为 null 或者该列是否包含与 不同的 DBNull.value 所以:

If (dt.Rows[0]["Name"] != DBNull.Value)
  //proceed

(你可以在检查行数是否大于0后加上if)。

关于c# - 在 C# 中查找数据库中的下一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391462/

相关文章:

sql - 使用两列对查询结果进行排序

sql - 表中主键的最佳做法是什么?

c# - 如何从 Windows 10 通用应用程序将 Firebase 与 C# 连接?

c# - Botframework:如何使用机器人处理长时间运行的任务?

sql - 检查字符串是否为 SQL Server 保留关键字

sql-server - .值(value)从何而来?

python - 在 Python 中访问 JET (.mdb) 数据库

sql - SQL 2008 R2 独立服务器应在单个表中存储的最大建议行数是多少?

c# - ListBox多选拖放问题

c# - 应用程序中的 Windows Phone 磁贴