C# dataTable.Rows ForEch時獲取 行號,以及6位補齊填充0

dataTable.Rows ForEch時獲取 行號,以及6位補齊填充0

string[] prem = new string[] { "count", "hour", "begin_time", "type", "target", "keyword", "sUrl", "goodsBrowsingTime" };
            DataTable dataTable = this.dataGridView1.DataSource as DataTable;
             
            foreach (DataRow dr in dataTable.Rows)
            { 
                int index = dataTable.Rows.IndexOf(dr);
                if (dr["request_result"].ToString() == "發佈成功!") continue;
                Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
                keyValuePairs.Add("username", user);
                keyValuePairs.Add("id", DateTime.Now.ToString("yyyyMMddHHmmss") +  index.ToString().PadLeft(6,'0'));//"000211"+
                keyValuePairs.Add("type", type);
                //username","id","count","hour","begin_time","type","target","keyword","sUrl","goodsBrowsingTime","goodsAttention","shopVisit","shopVisitCount","ri","shopVisitTime","notclick","format","timestamp","ver","signkey
                foreach (string item in prem)
                {
                    if (dataTable.Columns.Contains(item))
                        keyValuePairs.Add(item, dr[item].ToString().Replace(" 0:00:00", ""));
                }
                keyValuePairs.Add("sUrl", sUrl);
                keyValuePairs.Add("goodsBrowsingTime", goodsBrowsingTime);
                keyValuePairs.Add("format", "json");
                keyValuePairs.Add("timestamp", Cxt.Uniti.get_timestamp2(10));
                keyValuePairs.Add("ver", "4");


                Dictionary<string, string> dic1_SortedByKey = keyValuePairs.OrderBy(p => p.Key).ToDictionary(p => p.Key, o => o.Value);
                var urlParamsStrSignkey = task + "?" + string.Join("&", (from s in dic1_SortedByKey select s.Key + "=" + s.Value).ToArray()) + "&";
                string signkey = Cxt.Uniti.MD5Encrypt32(Cxt.Uniti.UrlEncode(urlParamsStrSignkey, Encoding.UTF8) + userKey).ToLower();


                string url_path = task + "?" + string.Join("&", (from s in keyValuePairs select s.Key + "=" + Cxt.Uniti.UrlEncode(s.Value, Encoding.UTF8)).ToArray()) + "&signkey=" + signkey;
                string url = "http://api.lieliu.com:1024" + url_path;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "get";
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream response_stream = response.GetResponseStream();

                int count = (int)response.ContentLength;
                int offset = 0;
                byte[] buf = new byte[count];
                while (count > 0)  //讀取返回數據
                {
                    int n = response_stream.Read(buf, offset, count);
                    if (n == 0) break;
                    count -= n;
                    offset += n;
                }
                string request_result = Encoding.UTF8.GetString(buf);
                var model = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(request_result);
                dr["request_result"] = model["data"]["tips"].ToString();
            }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章