コード例 #1
0
        public string CsBuilder(DataModel model)
        {
            //SqlConnection myConnection = new SqlConnection();

            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

            builder.UserID = model.CsDTO.UserID;
            builder.Password = model.CsDTO.Password;
            builder.InitialCatalog = model.CsDTO.Database;
            builder.DataSource = model.CsDTO.Server;
            builder.ConnectTimeout = 30;
            return builder.ConnectionString;
        }
コード例 #2
0
        /// <summary>
        /// Return the data given in the model.Query
        /// </summary>
        /// <param name="model"></param>
        /// <returns>List of Key/Value pairs</returns>
        public List<Dictionary<string, object>> GetData(DataModel model)
        {
            string query = model.Query;
            ArrayList al = new ArrayList();

            using (SqlConnection sqlConnect = new SqlConnection())
            {
                sqlConnect.ConnectionString = new ConnectionStringBuilder().CsBuilder(model);

                SqlCommand command = new SqlCommand(query, sqlConnect);
                sqlConnect.Open();

                SqlDataReader reader = command.ExecuteReader();

                var columns = new List<string>();

                for (int i = 0; i < reader.FieldCount; i++)
                {
                    columns.Add(reader.GetName(i));
                }

                var list = new List<Dictionary<string, object>>();

                while (reader.Read())
                {
                    object[] values = new object[reader.FieldCount];
                    reader.GetValues(values);
                    var item = new Dictionary<string, object>();
                    for (int i = 0; i < columns.Count; i++)
                    {
                        var columnName = columns[i];
                        var value = values[i];
                        item[columnName] = value;
                    }
                    list.Add(item);
                }
                reader.Close();
                return list;
            }
        }