简体   繁体   English

C#选择查询Varchar科学表示法问题

[英]C# Select query Varchar Scientific Notation Issue

I have 150 000 records of products. 我有15万条产品的记录。 Products has partno some has long number like 662750944011590 and some has 009093j 产品具有零件号,有些具有较长的编号,例如662750944011590,有些具有009093j

But long no is convert to scientific notation like 6.62751E+14. 但是长远没有转换成科学符号(例如6.62751E + 14)。 I am using partno as autocomplete inside gridview. 我正在使用partno作为gridview中的自动完成功能。

User can't understand scientific notation. 用户无法理解科学计数法。 So basically i want to get number as string. 所以基本上我想将数字作为字符串。

在此处输入图片说明

I had used dtswizard from csv to sql server. 我曾使用dtswizard从csv到sql server。 In CSV it is long number but in SQL it is imported as scientific notation. 在CSV中,它是长整数,但在SQL中,它是作为科学计数法导入的。 Don't know why? 不知道为什么

Type of SQL column is Varchar(Max). SQL列的类型为Varchar(Max)。

Code of Retriving and adding to AutoCompleteStringCollection datagrid is : 检索并添加到AutoCompleteStringCollection datagrid的代码为:

using (SqlConnection connection = new SqlConnection(connectionstring))
            {
                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = new SqlCommand("select PartNo,PartDescription,HSN,MRP,GST from products_data", connection);
                adapter.Fill(dataset);

                Dataset products_tbl = dataset.Tables[0];
                //data is AutoCompleteStringCollection object
                for (int i = 0; i < products_tbl.Rows.Count; i++)
                    data.Add(products_tbl.Rows[i]["PartNo"].ToString());
            }

Do like this 像这样

using (SqlConnection connection = new SqlConnection(connectionstring))
        {
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = new SqlCommand("select PartNo,PartDescription,HSN,MRP,GST from products_data", connection);
            adapter.Fill(dataset);

            Dataset products_tbl = dataset.Tables[0];
            //data is AutoCompleteStringCollection object
            for (int i = 0; i < products_tbl.Rows.Count; i++)
                 //You can change the datatype from Decimal to  whatever you want string or etc
                       Decimal h2 = 0;
                      Decimal.TryParse(products_tbl.Rows[i]["PartNo"].ToString(), out h2);
                      data.Add(h2);
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM