繁体   English   中英

如何在asp.net C#中将数据转换为数组形式?

[英]How to convert the data to array form in asp.net C#?

我有以下代码,数据表仅包含一行。 我希望将所有数据(一行)值保留在数组中。 下面是我的代码:

            SqlCommand cmdp = new SqlCommand("SELECT [1],[2],[3],[4],[5],[6],[7].[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78] from [Seatlist] where (([FlightNo] = @FN) AND ([Origin] = @Ori) AND ([Destination] = @Des) AND ([DepartureTimeDay] = @Dep) AND ( [DepartureTimeMonths] = @Dem) AND ( [DepartureTimeYears] = @Dey) AND ( [DepartureTime] = @Det))", con);
            cmdp.Parameters.AddWithValue("@Seatlist", SeatNo.Text);
            cmdp.Parameters.AddWithValue("@FN", FlightNo.Text);
            cmdp.Parameters.AddWithValue("@Ori", Origin.Text);
            cmdp.Parameters.AddWithValue("@Des", Destination.Text);
            cmdp.Parameters.AddWithValue("@Dep", DepartDay.Text);
            cmdp.Parameters.AddWithValue("@Dem", DepartMonth.Text);
            cmdp.Parameters.AddWithValue("@Dey", DepartureTimeYears.Text);
            cmdp.Parameters.AddWithValue("@Det", DepartureTime.Text);
            DataTable dtable = new DataTable();
            dtable.Load(cmdp.ExecuteReader());
            DataRow[] array = dtable.AsEnumerable().Take(1).ToArray();
            object[] array1 = array[0].ItemArray;
            int[] array2 = Array.ConvertAll(array1, (p => Convert.ToInt32(p)));

但是我收到以下错误:

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: The multi-part identifier "7.8" could not be bound.

正如@Kami指出的那样,您的代码很好,但是您得到了[7].[8] 而不是[7],[8] 66 [7],[8] -73中的[7],[8]

现在应该可以正常工作了...

 SqlCommand cmdp = new SqlCommand("SELECT [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78] from [Seatlist] where (([FlightNo] = @FN) AND ([Origin] = @Ori) AND ([Destination] = @Des) AND ([DepartureTimeDay] = @Dep) AND ( [DepartureTimeMonths] = @Dem) AND ( [DepartureTimeYears] = @Dey) AND ( [DepartureTime] = @Det))", con);
                cmdp.Parameters.AddWithValue("@Seatlist", SeatNo.Text);
                cmdp.Parameters.AddWithValue("@FN", FlightNo.Text);
                cmdp.Parameters.AddWithValue("@Ori", Origin.Text);
                cmdp.Parameters.AddWithValue("@Des", Destination.Text);
                cmdp.Parameters.AddWithValue("@Dep", DepartDay.Text);
                cmdp.Parameters.AddWithValue("@Dem", DepartMonth.Text);
                cmdp.Parameters.AddWithValue("@Dey", DepartureTimeYears.Text);
                cmdp.Parameters.AddWithValue("@Det", DepartureTime.Text);
                DataTable dtable = new DataTable();
                dtable.Load(cmdp.ExecuteReader());
                DataRow[] array = dtable.AsEnumerable().Take(1).ToArray();
                object[] array1 = array[0].ItemArray;
                int[] array2 = Array.ConvertAll(array1, (p => Convert.ToInt32(p)));

暂无
暂无

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

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