首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将C# SQL Server数据转换为长数组

将C# SQL Server数据转换为长数组
EN

Stack Overflow用户
提问于 2018-12-16 22:46:50
回答 2查看 123关注 0票数 0

我正在尝试将C#与SQL Server数据库一起使用,但我遇到了问题。

我有一个类似于原始数组大小为10001x1的数组

long[] lvl = { 0, 7200000, 15840000, 25920000, 37440000, 50400000, 64800000, 80640000 }

当我试图从数据库中获取相同的long[]数组时,我得到了一个错误。

        string sorgu = "select * from paragon";
        var komut = new SqlCommand(sorgu, baglanti);
        var reader = komut.ExecuteReader();


        IList<long> lvl = new List<long>();

        while (reader.Read())
        {
            lvl.Add((long)reader["Paragon"]); 
        }

        reader.Close();
        reader.Dispose();


        long ns = Convert.ToInt64(textBox1.Text);
        long sns = Convert.ToInt64(textBox2.Text);
        long nsxp = lvl[ns];
        long snsxp = lvl[sns];
        long toplam = nsxp + snsxp;

        for (int i = 0; i < lvl.Count; i++)
        {
            if (toplam < lvl[i])
            {
                textBox3.Text = Convert.ToString(i - 1);
                break;
            }

        }

İmage 1 Error image

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-16 23:48:19

您的问题是数据类型不匹配。

reader在每个reader.Read()操作中都会给出一个值。

IList<long> myArray = new List<myArray>();

while (reader.Read())
{
    myArray.Add(reader.GetInt64(0));        
}
reader.Close(); 
reader.Dispose(); // always close and dispose your reader whenever you are done.    

long ns = Convert.ToInt64(textBox1.Text);
long sns = Convert.ToInt64(textBox2.Text);
long nsxp = lvl[ns];
long snsxp = lvl[sns];
long toplam = nsxp + snsxp;

for (int i = 0; i < lvl.Length; i++)
{
    if (toplam < lvl[i])
    {
        textBox3.Text = Convert.ToString(i - 1);
        break;
    }

}
票数 0
EN

Stack Overflow用户

发布于 2018-12-16 23:51:07

SqlDataReaderRead()从数据库中读取一条记录。您正在尝试使用它一次读取所有记录。下面的代码演示了如何按顺序读取每个值的示例:

while (reader.Read()) // This returns true if a record is available, and false once all records have been read.
{
    var paragonValue = reader.GetInt64(0); // This reads the current record's Paragon value.
    // Do something with paragonValue.
}

有关详细信息,请参阅SqlDataReader.Read上的Microsoft Docs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53803264

复制
相关文章

相似问题

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