【问题标题】:Assigning a DataTable value to a Variable将 DataTable 值分配给变量
【发布时间】:2015-05-07 12:56:08
【问题描述】:

我刚刚写了一个简单的方法来从 SQL 服务器获取一些数据并将其存储在 DataTable 中。

具体数值是一个整数:666

它是数据库上的一个 int 数据类型,我在 C# 中创建了一个名为 Credits 的变量,它也是一个整数。

数据表在第一行显示值 666,因此添加它没有任何问题。

当我尝试分配 Credits = dt.Rows[0] 说时会发生问题

输入字符串的格式不正确

我尝试将其解析为 int 并添加 .ToString() 但无论如何它都会给出相同的错误。

我尝试的最新行是

Credits = Convert.ToInt32(dt.Rows[0].ToString());

但仍然没有运气。我在网上到处寻找解决方案,但找不到问题所在。 任何帮助将不胜感激。

【问题讨论】:

    标签: c# datatable format


    【解决方案1】:

    从数据表中选择数据时缺少列名。您可以使用列名或列索引。

    int Credits = Convert.ToInt32(dt.Rows[0]["columnname"].ToString());
    

    请确保该列值的值不应为 null 或为空。如果是这种情况,您必须在分配给 int 变量之前进行检查。

    或者你可以使用,TryParse

    int Credits = int.TryParse(dt.Rows[0]["columnname"].ToString());
    

    【讨论】:

    • 是的!就是这样!该死,我总是忽略一些愚蠢的事情,让我看起来像个白痴。非常感谢您的帮助,希望有一天我不再擅长编程,我能在这里回报您的青睐。
    【解决方案2】:

    您不能在变量中分配整行

    string Credits = Convert.ToInt32(dt.Rows[0]["columname"].ToString());

    【讨论】:

    • 也感谢您抽出宝贵时间回答我的问题!
    猜你喜欢
    • 2011-10-02
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    相关资源
    最近更新 更多