sql server中百分比列的数据类型是什么?

时间:2014-06-14 15:06:27

标签: c# asp.net sql sql-server

我在ASP.NET工作,我想将Excel工作表导入SQL Server中的表。 问题是我的Excel的一列有一个百分比类型(例如:25%)。您是否有解决方案在SQL Server的表中存储此百分比值?

如果你愿意,我发布我的代码:

 protected void Button1_Click(object sender, EventArgs e)
        {

            if (FileUpload1.HasFile)
            {
                string path = string.Concat((Server.MapPath("~/temp/" + FileUpload1.FileName)));
                FileUpload1.PostedFile.SaveAs(path);
                OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");

                // Feuil1 est la première page du fichier Excel
                OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Feuil1$]", OleDbcon);
                OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(cmd);

                OleDbcon.Open();
                DbDataReader dr = cmd.ExecuteReader();
                // configuration de la chaîne de connexion de SQL Server
                string con_str = @"Data Source=.;Initial Catalog=projetDGCS;Integrated Security=True";

                // On copie dans SQL Server 
                SqlBulkCopy bulkInsert = new SqlBulkCopy(con_str);
                // On mets le nom de la table de destination
                bulkInsert.DestinationTableName = "reponse";
                bulkInsert.WriteToServer(dr);
                OleDbcon.Close();
                // On a stocké le fichier Excel dans le dossier "temp" et on le supprime après 
                Array.ForEach(Directory.GetFiles((Server.MapPath("~/temp/"))), File.Delete);
                Label1.ForeColor = Color.Green;
                Label1.Text = "Insertion réussie !";

            }

1 个答案:

答案 0 :(得分:2)

Excel没有字段的百分比类型。它具有NUMERIC字段的百分比格式 - 与您的应用程序相同。 0.01 = 1%(至少我的学校确实教过我)。

这是非常客观的 - 您可以在任何数字字段中存储百分比值。如何格式化它以及是否使用例如tinyint(1 = 1%)完全取决于你作为程序员。